首页 文章

将DataTable导出到多个Excel工作表中

提问于
浏览
2

我有一大堆DataTables要导出到几个Excel工作表中(在新的电子表格/ Excel文件中) . 我所拥有的代码中已经存在的"solution"是两个嵌套的 for 循环,遍历所有行和列,逐个单元地插入数据 . 由于生成的电子表格是8.5MB,这不是一个相当数量的数据,但肯定必须有更快的方法吗?

我正在使用Office Interop库来执行此操作;我想我记得在哪里可以用这些来导入CSV . 如果是这种情况,是否可以更快地将DataTables转换为CSV然后将其导入Excel,如果是这样,如何?

2 回答

  • 2

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

  • 0

    SpreadsheetGear for .NET有一个类似于Excel的API,但会将你的时间从10分钟缩短到几秒钟(实际上,在现代服务器上生成8.5MB工作簿通常需要<1秒) . SpreadsheetGear还包含一个可能适合您的IRange.CopyFromDataTable方法 .

    您可以看到实时ASP.NET示例(C#和VB)here并下载评估here .

    免责声明:我拥有SpreadsheetGear LLC

相关问题