【Asp.net精品源码栏目提醒】:网学会员为广大网友收集整理了,ASPNET中实现EXCEL导入和导出 - 其它资料,希望对大家有所帮助!
ASPNET 中实现 EXCEL 导入和导出页面效果图如下:录入按钮的 OnClick 事件代码如下:protectedvoid btnInput_Clickobject sender EventArgs eif fpInput.HasFile//fpInput 为 FileUpload 控件判断是否选择了文件string fileExt System.IO.Path.GetExtensionfpInput.FileName//获取文件名的后缀if fileExt .xls//判断文件后缀名是否是 xlstrystring strConn ProviderMicrosoft.Jet.OLEDB.4.0Data Source fpInput.PostedFile.FileName Extended PropertiesExcel8.0//以 xls 文件创建连接字符串OleDbConnection conn new OleDbConnectionstrConnOleDbDataAdapter oada new OleDbDataAdapterSELECT FROMSheet1 strConnoada.FilldstInput_JWTYBH xlsTable//填充 xls 中数据到数据集DataTable dtJWTYBH dstInput_JWTYBH.TablesxlsTablefor int i 0 i dtJWTYBH.Rows.Counti//循环读取 xls 文件中的数据strSql SELECT COUNT FROM XS_JBXX WHERE XS_XH dstInput_JWTYBH.TablesxlsTable.Rowsi学号.ToString int iStNum Convert.ToInt32db.ExecScalarstrSqlif iStNum 0strSql INSERT INTO XS_JBXXXS_XHXS_SFZHXS_XMNJ_IDBJ_BHXS_XBMXS_XJH VALUES dtJWTYBH.Rowsi学号.ToString dtJWTYBH.Rowsi身份证号.ToString dtJWTYBH.Rowsi姓名.ToString dtJWTYBH.Rowsi年级编号.ToString dtJWTYBH.Rowsi班级编号.ToString dtJWTYBH.Rowsi性别码.ToString dtJWTYBH.Rowsi教委统一编号.ToString else if iStNum 1strSql UPDATE XS_JBXX SET XS_SFZH dtJWTYBH.Rowsi身份证号.ToString XS_XM dtJWTYBH.Rowsi姓名.ToString NJ_ID dtJWTYBH.Rowsi年级编号.ToString BJ_BH dtJWTYBH.Rowsi班级编号.ToString XS_XBM dtJWTYBH.Rowsi性别码.ToString XS_XJH dtJWTYBH.Rowsi教委统一编号.ToString WHERE XS_XH dtJWTYBH.Rowsi学号.ToString db.ExecCommandstrSqlBindDatacatch Exception expResponse.Write 系统出现以下错误: exp.Message 请尽快与管理员联系.finallydb.CloseelseResponse.WriteExcel 文件的导入在 ASP.NET 中比较简单主要的要点是 FileUpload 控件的使用和用 OleDb 连接物理 xls 文件.对 xls 文件中数据的操作同对 DataSet 中数据的操作是一样的..下面是对导出功能的实现:先定义一个导出函数/////Excel 数据导出函数//////需要导出数据的控件///导出的 Excel 文件名private voidToExcelControl ctl string FileNameHttpContext.Current.Response.ContentEncoding System.Text.Encoding.GetEncodingGB2312HttpContext.Current.Response.Charset GB2312HttpContext.Current.Response.ContentType application/ms-excelHttpContext.Current.Response.AppendHeaderContent-Dispositionattachmentfilename FileNamectl.Page.EnableViewState falseSystem.IO.StringWriter tw new System.IO.StringWriterHtmlTextWriter hw new HtmlTextWritertwctl.RenderControlhwHttpContext.Current.Response.Writetw.ToStringHttpContext.Current.Response.End其中一下两行代码最为重要HttpContext.Current.Response.ContentEncoding System.Text.Encoding.GetEncodingGB2312HttpContext.Current.Response.Charset GB2312因为使用 GB2312 可以解决 Excel 导出数据出现中文乱码的问题使用 UTF-7/8都会出现乱码.导出按钮的 OnClick 事件如下:protectedvoid btnOutput_Clickobject sender EventArgs egvStJWTYBJ.AllowPaging false//设置 GridView 控件不能分页gvStJWTYBJ.AllowSorting false//设置 GridView 控件不能排序BindDataToExcelgvStJWTYBJ JWTYBH.xlsgvStJWTYBJ.AllowPaging true//恢复 GridView 控件分页gvStJWTYBJ.AllowSorting true//恢复 GridView 控件排序BindData//数据绑定函数如果在页面显示的时候设置了 GridView 控件是可以分页和排序的则再 Excel 数据导出的时候就 分享微经验,让更多的人受益 快去分享吧只能导出显示的那几条数据而不能导出所有的数据所以在调用 ToExcel函数进行 Excel 导出的时候要先设置 GridView 的排序和分页为 false.以上代码还不能实现 Excel 的数据导出因为会报以下两个错误.1.类型“GridView”的控件“gvStJWTYBJ”必须放在具有 runatserver 的窗体标记内。上一篇:【精品】50分钟IT技术现场体验——生活中的计算器