【发布时间】:2013-02-06 10:46:28
【问题描述】:
我们有一个非常大的数据集(大约 40k 行)。我想写入excel文件。
我已经尝试过逐个单元格地写入excel文件,它可以工作。
我面临的问题是,写excel需要很多时间。
有没有有效的方法来做同样的事情。
【问题讨论】:
-
您使用哪个库来导出?
-
如果 winforms 可以在另一个线程上运行任务。
-
有许多更有效的方法来做到这一点,但它们取决于知道您需要什么输出以及您已经拥有什么代码。例如,如果您只想要 excel 中的数据,那么 CSV 可能是合适的,或者如果您有公式,那么您可以直接编写 OOXML。您可以将其写入数据库并使用 excel 查询来代替。
-
如果您不关心格式,我会选择编写 CSV 文件,或者使用 OleDb 编写电子表格。这两个选项都比 Interop 快得多,并且您不需要第三方库。如果您不确定如何使用 OleDb,我有一些示例代码,您可以根据自己的目的进行调整。