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

C#中处理大数据的请教
最近需要用C#处理2个EXCEL。其中一个表格A大概有3000多条数据,另一个表格B大概有10000多条数据。
需要把表格A的每一行的第一个单元格的数据在表格B里的每一行的第一个单元格的数据做比较。如果在表格B里找到一样的数据,就复制表格A里的每一行的第二个单元格到表格B。

我用2个for循环实现后运行了下,半个小时也没有运行完,一直在循环里。。一般数据量比较大的EXCEL操作如何进行呢?

------解决方案--------------------
先读取到DataSet(内存)里再比较,减少IO操作。不过行列不规则的Excel就不能读到DataSet里了。
------解决方案--------------------
应该不会有问题,数据量还是很小的。
1、检查循环条件是否正确,有没有出现死循环的情况。
2、10000多条数据在外层循环,3000多条数据在内层循环,会提高循环效率。
------解决方案--------------------
先在内存当中操作,最后再写excel文件。