![](/img/trans.png)
[英]How can I create an Excel compatible Spreadsheets on the server side in C#?
[英]How can I speed-up creating excel Excel spreadsheets from C#?
我目前正在編寫大約 200 個 Excel 電子表格,使用 Excel 2007 和 C# ZD47C174ED277BDF70CC Interactive
不幸的是,我需要大約 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();
}
澄清:我現在正在單獨填充每個單元格
我將嘗試您的一些建議,然后接受最佳解決方案。
您可以使用 EPPlus (here)完全擺脫 COM Interop。 This library creates Excel files by using the 2007 XML format, not the Excel COM interface, and is a lot quicker as a result.
您可以通過將具有 8 到 10 列的 1000 行視為一個數組並將您的數據復制到一個 go 中的該數組中,而不是單獨填充這 8000 到 10000 個單元格中的每一個來加快這一速度。 有關更多信息,請參見此處:將數組寫入 Excel 范圍
I wouldn't use an Excel app to do this, instead write it directly from c# using a library: Create Excel (.XLS and.XLSX) file from C#
快多了。
Rgds GJ
有時將文件保存為csv格式的文本文件就足夠了。 它可以像普通的 Excel 表一樣由 Excel 打開。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.