2011-07-22 72 views
2

我试图循环遍历一个范围并将值写入该范围的单元格。给实例化范围一个实际值时,我会得到一个异常。循环遍历Excel范围并写入.net中的单元格.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”(具有前导零的数字43)不是有效的单元格引用。你打算:sheet.Range [“B43:O43”]?

+0

谢谢Eddy !我觉得自己像个白痴,但是谢谢。哈哈 – Eric

相关问题