c# - 将数据表导出到多个 Excel 工作表中

标签 c# winforms excel datatable office-interop

我有一大堆数据表,我想将它们导出到多个 Excel 工作表(在新的电子表格/Excel 文件中)。我的代码中已经存在的“解决方案”是两个嵌套的 for 循环,遍历所有行和列,逐个单元格地插入数据。这并不理想,因为该过程需要超过 10 分钟。由于生成的电子表格为 8.5MB,因此数据量相当大,但肯定有更快的方法吗?

我正在使用 Office Interop 库来执行此操作;我想我记得在某个地方读过,你可以用这些导入 CSV。如果是这种情况,将 DataTable 转换为 CSV 然后将其导入 Excel 会更快吗?如果可以,如何操作?

最佳答案

您最好的选择可能是通过在 Range 对象上使用 Value 属性 setter 来加快速度。它接受一个数组,这比单独设置每个单元格要快得多。您可以在 http://support.microsoft.com/kb/302096 查看示例.

关于c# - 将数据表导出到多个 Excel 工作表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1064695/

相关文章:

c# - 将 JSON 对象反序列化为动态类型但访问属性时出现 RuntimeBinderException?

c# - matlab:在 .net 程序集中使用函数提示

c# - 1秒后更改按钮的文本内容

c# - 如何在 WinForms 中更新 DataGridView

VBA发布值 "as it is"

.net - Excel 中的 WinForms (2002) 和附加组件

c# - 通过结果解释陈述

c# - 在 VS 2010 的 Winforms 项目中添加 WPF 窗口

c# - foreach c# 无法转换错误

excel - 使用图表时避免使用“激活”和“选择”(Excel)