2011-07-22 9 views
2

範囲をループし、その範囲のセルに値を書き込もうとしています。インスタンス化された範囲に実際の値を与えるときに例外が発生します。Excelの範囲をループして.netのセルに書き込む

何が間違っていますか?次のように私も範囲を設定しようとしました

int fieldcount = dr.FieldCount; 
for (int f = 0; f < fieldcount; f++) { 
    Excel.Range chartRange; 
    int count = 1; 
    chartRange = sheet.Range["B43:043"]; 

    foreach(Excel.Range cell in chartRange.Cells) { 
     Debug.Print(cell.Address, cell.Value); 
    } 
} 

:私は取得しています

sheet.get_Range("B43", "043"); 

例外は、私はあなたがあなたの範囲にタイプミスがあると思うException from HRESULT: 0x800A03EC

+1

chartRange = sheet.Range ["B43:043"]; 043?あなたはそうだと確信していますか? – MGZero

+1

また、セルを反復処理しないことも考慮する必要があります。これは、特に「大きな」範囲が関与する場合には、処理がかなり遅いためです。代わりに、アレイ全体でデータブロック全体を書くことを検討してください。http://clear-lines.com/blog/post/Write-data-to-an-Excel-worksheet-with-C-fast.aspx – Mathias

答えて

4

です。 "043"(先行する0の数字43)は有効なセル参照ではありません。あなたは意図している:sheet.Range ["B43:O43"]?

+0

Eddy !私はばかみたいだと思うが、ありがとう。ハハ – Eric

関連する問題