4

Microsoft.Office.Interop.Excel を winform で使用しています。ここでは、1 つの 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」は私の DataTable です。ネストされた for ループはランタイム エラーをスローしませんが、それに続くコードはスローします。エラーは次のように表示されます: COM 例外は処理されませんでした。HRESULT からの例外: 0x800A03EC.

アドバイスをいただければ幸いです。

よろしく。

4

1 に答える 1

8

Cells[]ゼロベースではなく、1 ベースです。

于 2012-06-28T18:08:52.260 に答える