我们有一个非常大的数据集(大约40k行)。我想写excel文件。
我已经尝试过写入excel文件逐个单元地写入数据并且它可以工作。
我面临的问题是,写入excel需要花费大量时间。
有没有有效的方法来做同样的事情。
答案 0 :(得分:0)
不是遍历每一行/每列,而是将完整数据集分配给内存中的数组 - 然后将此数组分配给相同维度的Range对象。在VBA中,这看起来像:
Dim arr as Variant
arr = ... ' Your code to fill the array here
Set Workbook("YourWorkbook").Worksheets("Worksheetname"). _
Range(1,1).Resize(40000, 20).Value = arr
希望你能把它翻译成c#...
答案 1 :(得分:0)
如果你直接写到excel,Albert的想法是有效的 - 但它仍然会很慢。 我会使用像EPPLUS这样的库来编写大量数据来实现excel - 它更快,更可靠。