ASP.NET 导入EXCEl文档
鉴于教务一般都是手动输入学生信息,在未了解本校数据库的客观情况之下,我们准备设计一个导入excel文档中学生信息如数据库的功能。结合网上各类大牛的综合版本出炉。。
首先具体的实现思想如下:
1。先使用FileUpload控件fuload将Excel文件上传到服务器上得某一个文件夹。
2。使用OleDb将已经上传到服务器上的Excel文件读出来,这里将Excel文件当做一个数据库来读。在联系数据库语句中,Data Source就是该文件在服务器上得物理路径
3。将第二步中读出的数据以DataTable对象返回。
4。遍历DataTable对象,然后到Sql Server数据库中查询,是否存在该条数据。如果存在,可以做更新,或者不做处理;如果不存在,则插入数据。
注意:在遍历DataTable的时候,可是使用dt.Rows[i]["Name"].ToString();Name为Name列的表头,所以Excel中列的顺序就无关紧要了。当然,前提是你知道Excel里列中各表头的名字。如果Excel中列的顺序固定,即可按下面代码中的方式进行。
实现方法说明清楚了,在本功能的设计中需要注意的是提示“外部表不是预期的格式”的错误,这里主要是excel的版本问题
如上仅支持excel 03-07版本,更高版本的excel另存为为兼容模式。当然我在编程过程中发现有的例子会在mappath添加物理地址,个人不是很建议,这个方式可能会打开固定的路径,感觉不太方便吧。
代码截图略,网上都有,需自己整合。
好的例子,懒得加链接了,直接粘网页地址了。
http://blog.sina.com.cn/s/blog_5fe13c500100cwoh.html
http://www.cnblogs.com/ZQiuMei/archive/2012/12/28/2837065.html
http://www.cnblogs.com/kingkongv/archive/2012/08/26/2657436.html
http://blog.csdn.net/cpcpc/article/details/7029446
http://blog.sina.com.cn/s/blog_77f88ea60100zi64.html
都不错
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。