目前我正在做这个:
string cellValue = sheet.get_Range("A12", _missing).Value2.ToString();
这个可以工作但是我真的需要通过行和列索引来选择单元格。
当我尝试时会获得一个空指针异常。
string cellValue = ((Range)sheet.Cells[row, column]).Value2.ToString();
有什么想法吗?
ArgumentNullException
是在哪里发生的?尝试像这样分离你的代码并逐步调试:
object rangeObject = sheet.Cells[row, column];
Range range = (Range)rangeObject;
object rangeValue = range.Value2;
string cellValue = rangeValue.ToString();
Value2
为空,那么单元格就没有值。如果你看一下Excel中的单元格,它是空的吗? - Zach Johnsonrow + 1
和column + 1
即可获取正确的单元格。 - Zach Johnson我遇到了同样的问题。当我读取的单元格为空时,会发生空引用错误。
string foo = (((Range) ActiveWorksheet.Cells[row, column]).Value2 != null
? ((Range) ActiveWorksheet.Cells[row, column]).Value2.ToString()
: "Coalesce some false string here...");