我正在使用C#中的Excel Interop,我正在编写代码来对带有数万行数据的表进行一些复杂的操作。它往往运行得很慢。
我经常将数据存储在某种变量中,在最终将结果写入工作表之前,我会执行一些中间计算。
我确信这不是一个好方法,但我经常发现自己构建了一个临时工作表,当我的代码执行完毕后将被删除,这样我就可以在数据上使用Range属性的Excel方法而不是尝试在数组中实现类似的方法。最常见的是,这涉及诸如按多列排序,删除重复项等内容。这些列几乎总是有许多不同类型的数据(字符串,整数,带有两个小数位的数字 - 尽管存储在这些单元格中的实际数据类型不是似乎总是很简单(例如,100000000.01似乎有时是double类型,其他时候是十进制)。处理所有不同数据类型的最简单方法似乎只是使用Excel范围,这就是为什么我的代码经常创建临时工作表,然后在我的代码中删除它们。
处理这些类型情况的正确有效方法是什么?
答案 0 :(得分:1)
看看这些链接
如果要更新速度非常慢的单个单元格。但总的来说,excel互操作很慢。您是否考虑过创建CSV文件,然后使用excel interop转换最终结果?