我们有一个非常大的数据集(大约 40k 行)。我想写入excel文件。
我已经尝试逐个单元格地写入excel文件写入数据并且它可以工作。
我面临的问题是,写excel需要很多时间。
有没有有效的方法来做同样的事情。
无需循环遍历每一行/列,而是将完整数据集分配给内存中的一个数组 - 然后将此数组分配给相同维度的 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#...
如果你直接写到 excel,Albert 的想法是可行的——但它仍然会很慢。我会使用像 EPPLUS 这样的库将大量数据写入 excel - 它更快、更可靠。