日期:2014-05-17  浏览次数:21144 次

用C#实现将多个EXCEL文件合并成一个文件
我最开始的想法是,将每个excel文件的每个工作表复制到一个新的excel文件当中。
也许是我的方法不对,怎么都实现不了。
然后我换了一种做法,将每个excel文件的每个工作表的内容读出来,依次插入到新的excel文件当中。
这样做的问题是,文件比较大时,效率非常低,而且操作的时候,cpu会到接近100%。

希望大家可以给我提供一些建议。

------解决方案--------------------
赞成第二种方式先读出一张Excel,存DataTable,然后继续读,最后合并插入到新的Excel中

文件大读取慢,或者是由于合并DataTable,需要多次循环造成的慢没办法。。不如就干脆做成后台程序得了,要么做成一个服务,要么就做成一个winform,定时去跑
------解决方案--------------------
这个 好像很简单吧。
用datetable 读取 每个xls文件---
用  dataset  myds = new dataset()
myds.add(datatable)

dataset里 有关系架构的 搞定他,然后 dataset 导出xls
ok
------解决方案--------------------
利用Office COM
------解决方案--------------------
至少要了解Package格式
http://nonocast.cn/?p=2262
然后Relation
小复杂,之前做XPS的时候我也是直接操作OPC,不过没有Relation,庆幸啊