如何加速从C#创建excel Excel电子表格?

wei*_*mat 4 c# excel performance com-interop

我目前正在使用带有C#COM Interop的Excel 2007编写大约200个Excel电子表格.

不幸的是,我需要大约4分钟来写这200张纸 - 每张纸有大约1000行,8-10列.

我怎样才能加快速度?

我的代码基本上是这样的:

var xlApp = new Excel.Application();
xlApp.DisplayAlerts=false;
foreach (x in z) {
   var wb = xlApp.Workbooks.add(XLWBATemplae.xlWBATWorksheet);
   var ws = (Worksheet)wb.Worksheets[1];
   //fill data into sheet
   wb.SaveAs(fileName);
   wbClose();
}
Run Code Online (Sandbox Code Playgroud)

澄清:我现在正在单独填写每个单元格

我会尝试一些你的建议,然后接受最好的解决方案.

Ioa*_*mas 5

你可以通过使用EPPlus (这里)完全摆脱COM Interop .此库使用2007 XML格式而不是Excel COM接口创建Excel文件,因此结果更快.