4

我在 Winform 中使用 Microsoft.Office.Interop.Excel,我正在读取一个 excel 文件、处理数据并输出一个新的 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”是我的数据表。嵌套的 for 循环不会引发运行时错误,但它后面的代码会。错误只是说:COM Exception is unhandled, Exception from HRESULT: 0x800A03EC.

任何建议表示赞赏。

问候。

4

1 回答 1

8

Cells[]是从 1 开始的,而不是从零开始的。

于 2012-06-28T18:08:52.260 回答