欢迎来到天天文库
浏览记录
ID:11624956
大小:140.50 KB
页数:22页
时间:2018-07-13
《asp.net环境下的excel导入导出技术浅析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Asp.net环境下的Excel导入导出技术浅析——软件应用开发二部张XX1综述项目开发中经常会用到数据的导入导出,很多系统都留有Excel导入导出的功能,以便与自然人或其他系统交互数据。只要数据交互的双方都有Excel导入导出的接口,就能很方便地格式化处理对方的数据。一个优秀的系统必然有一些与其他系统的数据交互接口,Excel导入导出就是其中比较好的一个。系统留出Excel导入导出接口的一般做法是实现导入Excel、导出Excel和导出Excel模板这三种功能。在导入导出Excel的功能上可以加入一些查询限制条件,从而实现对数据的过滤。导出的Excel模板主要是方便其他系统
2、直接使用,在Excel模板文件中可以预设好固定的格式,包括字体颜色大小,合并单元格等。开发者可以通过系统程序生成Excel模板文件,对于丰富格式的模板最好通过MicrosoftExcel软件设置并保存起来。MicrosoftExcel是优秀的软件产品,有着丰富的功能,对Excel文件进行编程操作也有多种方法。主要有Excel文件Sql连接读写、ExcelCom组件读写、字符流Excel文件读写三种方式。Asp.net技术有着大量的B/S应用,具有很好的易用性和丰富的功能。本文使用Asp.net的C#后台语言,结合有着较完美功能和界面的Ext前台JS脚本技术进行Excel文件的
3、读写操作和导入导出演示说明。本文将分别从Excel导入和导出两个方面分析几种可能的方法,对方法应用中可能遇到的问题也视情况进行探讨。最后比较各个方法的优缺点,总结使用的方式和注意事项等。网络上已经有了大量的关于Asp.NetExcel导入导出的资料,在参考这些资料的基础上本文侧重实践应用中遇到的一些问题的解决和汇总分析。2Excel导入导入主要有两种方式Excel文件Sql连接读取和ExcelCom组件读取。把Excel文件保存成CSV文件(列之间用英文逗号分隔,行之间用换行符分隔)或者TXT文件(列之间用制表符分隔,行之间用换行符分隔),然后再使用文本流的方式读取也可以作为
4、一种方法。无论是哪种方式,Excel文件都需要把文件放在导入程序所在的机器本地磁盘上。对于Asp.Net网站就是要把Excel数据文件上传到后台网站服务器后才能执行导入。1.1Excel文件Sql连接读取使用Sql连接Excel文件的方式读取数据时是把Excel文件当做数据库来操作,把Excel工作表当做数据表,Excel的列当做数据表的字段。下面是连接Excel文件导入数据的示例代码:publicDataSetInputExcel(){DataSetds=null;stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSour
5、ce=D:\test.xls;"+"ExtendedProperties='Excel8.0;HDR=YES;IMEX=1'";OleDbConnectionconn=newOleDbConnection(strCon);try{stringsql="select*from[Sheet1$]";conn.Open();OleDbDataAdaptermyAdapter=newOleDbDataAdapter(sql,strCon);ds=newDataSet();myAdapter.Fill(ds,"[Sheet1$]");}catch{}finally{conn.Clos
6、e();}returnds;}上例是从“D:test.xls”Excel文件中读取名称为“sheet1”的工作表中的内容到DataSet中。导出数据到DataSet后就可以在系统内部进行格式化处理等操作了。“HDR=YES”表示第一行作为标题,这也是默认值,如果第一行数据有空着的地方,查询到DataSet中的列名会使用诸如“F2”,“F8”等来代替。“IMEX=1”表示以只读方式读取。扩展属性"ExtendedProperties=‘Excel8.0’"是必须的,如果不这样指定,微软Jet数据库引擎(JET是JointEngineTechnology的简称)会把连接到的文件
7、默认为是Access数据库文件。“[Sheet1$]”表示Excel文件中的工作表名称sheet1,在查询语句中要使用“[”+工作表名+“$]”格式指定工作表,也可以使用“`”+工作表名+“$`”的格式。中括号和“`(键盘左上方~下面的字符)”用来工作表名称,Microsoft建议使用方括号,这是用于表示未知数据库对象名的标准约定。JET数据库引擎程序需要用到“msjetoledb40.dll”,根据版本不同动态库文件也有所不同。此动态库一般在安装Office时会注册安装,如果没有的话需要单独下载并使用
此文档下载收益归作者所有