我在一個winform我在哪裏讀取一個excel文件,處理所述數據使用的Microsoft.Office.Interop.Excel一個小區,並且輸出新的Excel文件。但是,我無法寫入單元格 - 專門添加列標題。代碼如下:C#COM互操作:寫入在Excel工作表
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet ws = (Worksheet)wb.Worksheets[1];
for (int i = 0; i < dt.Columns.Count; i++)
{
for (int j = 0; j < dt.Rows.Count; j++)
{
ws.Cells[j + 1, i] = dt.Rows[j][i].ToString();
}
}
ws.Cells[0, 0] = "Ticket Number";
ws.Cells[0, 1] = "Transit";
ws.Cells[0, 2] = "Outage Start Date";
ws.Cells[0, 3] = "Outage End Date";
ws.Cells[0, 4] = "Business Impact";
wb.Worksheets.Add(ws);
其中「dt」是我的DataTable。嵌套的for循環不會拋出運行時錯誤,但它後面的代碼會執行。錯誤只是說:COM異常未處理,異常來自HRESULT:0x800A03EC。
任何建議表示讚賞。
問候。
我剛剛發現,如果我註釋掉這些行的程序運行和輸出文件。但是,當我嘗試打開它時,它立即關閉,之後我無法刪除它,因爲Windows聲稱Excel正在使用它,即使我在任務管理器中找不到Excel應用程序。 – Kevin
當你在任務管理器中說,你已經檢查過程選項卡以及應用程序選項卡?很容易導致備用excel.exe進程掛起。您正在關閉excel應用程序對象中的工作簿,或者至少關閉Excel應用程序對象? – Rup
我只在App選項卡中查找。 – Kevin