当前位置:编程学习 > C#/ASP.NET >>

把EXCEL表格里的数据对应的导入到数据库

VS2005+C#+MS2005;要求:需要把EXCEL表格里的数据对应的导入到数据库中去,具体流程是:一点导入按钮,就弹出对话框供用户选择EXECL文件,然后就在一个新的FORM中,让用户对应的选择EXECL中的列,一一对应,EXECL表中的第一列是列名,用户确定对应关系后就导入到数据库中去。 如果有控件的话就好了!因为这里面还有一个问题就是效率问题,需要导入的数据初步设计是5万行(条)。在面向WEB的情况下,可以找到很好用的控件。希望各位高手帮帮忙!!
--------------------编程问答-------------------- 1,通过添加引用excel libry,读取excel文件,按照坐标(1,1)开始读取。
2,用VSTO也行。
--------------------编程问答--------------------
引用 1 楼 update44 的回复:
1,通过添加引用excel libry,读取excel文件,按照坐标(1,1)开始读取。
2,用VSTO也行。


和Excel的版本有没有关系? --------------------编程问答-------------------- 关注。。。以前写的就挺慢 --------------------编程问答-------------------- 先把EXCEL文件读TABLE中。然后再写到数据库里。 --------------------编程问答-------------------- 用oledbconnector来连接,保证效率。 --------------------编程问答-------------------- mark up  --------------------编程问答-------------------- 先把你的数据读进datatable里面,在用sql写进数据库.
这个那个版本都是一样的,不一样的是excel的provider --------------------编程问答-------------------- 参考C# WinForm开发系列 - Excel --------------------编程问答-------------------- 与你引入的EXCEL DLL有关。 --------------------编程问答-------------------- 读的话建议用Oledb读取到DataTable然后更新到数据库中. --------------------编程问答-------------------- 关注。。。正好也遇到这个问题 --------------------编程问答-------------------- 大部分的回答比较关注的是把EXECL导入到DATATABLE那里。谢谢大家!
本人也是完成到那里!但接下来的工作才是比较麻烦的。为了高速写入,我把原始的EXECL数据全部FILL到了DATAGRIDVIEW1中,并通过.Columns.Count属性把原EXECL中第一行(DATAGRIDVIEW1中为字段名)读取了出来并放到COMBOBOX中供用户可以选择对应,最后再实现导入。在最后一步中就有个问题,我相信也是比较多人关注的问题!如果要高效导入的话,那么肯定是使用DATAGRIDVIEW中的UPDATE功能进行批量导入的速度最快,所以我就计划着把DATAGRIDVIEW1中的数据对应复制到DATAGRIDVIEW2中,然后再由DATAGRIDVIEW2进行UPDATE数据进行批量导入。这中间的问题就是怎样使DATAGRIDVIEW1和DATAGRIDVIEW2中的字段和用户选择的对应关系一致。请高手指教。 --------------------编程问答-------------------- 问题在我自己的努力下总算是解决了。
经过测试,完全达到要求。导入速度是非一般的快啊!
分给谁好呢???
这让我很郁闷。 --------------------编程问答-------------------- 给我 --------------------编程问答-------------------- 要更快就直接存在内存里,然后导入数据库
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,