tec*_*rer 1 c# excel performance
我正在尝试使用c#生成excel以下是它的代码片段
Microsoft.Office.Interop.Excel;
.
.
.
foreach (string[] rowContents in lstOutputFileContent)
{
for(int i = 0; i < rowContents.Length; i++)
{
sheet.Cells[currRow, i + 1] = rowContents[i];
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是当lstOutputFileContent包含超过50K的行时,它的写入时间太长(4-5分钟).在这种情况下是否有更好/更快的方法来编写excel,即我列出了字符串数组,我想把它写成excel.
我尝试使用OleDb但是如果前几行包含较少的单元格,那么当我尝试插入带有额外单元格的行时,它会给出错误.
任何帮助将不胜感激.
如果您使用的是Excel 2007或更高版本,则最佳选择是Open XML SDK 2.0
您还可以修改当前方法.不是单独编写每个值,而是创建一个二维数组来保存所有值.然后获得相同大小的范围,并将范围的值设置为二维数组.这样你只会遭受一次编组COM调用的代价,而不是许多你正在处理的问题.
| 归档时间: |
|
| 查看次数: |
6006 次 |
| 最近记录: |