目前我正在这样做:
string cellValue = sheet.get_Range("A12", _missing).Value2.ToString();
这有效,但我真的需要按行和列索引选择一个单元格。
当我尝试
时,我得到一个空例外string cellValue = ((Range)sheet.Cells[row, column]).Value2.ToString();
任何想法?
答案 0 :(得分:7)
ArgumentNullException
出现在哪里?尝试将代码分离出来并逐步完成:
object rangeObject = sheet.Cells[row, column];
Range range = (Range)rangeObject;
object rangeValue = range.Value2;
string cellValue = rangeValue.ToString();
这将显示null对象的位置。
答案 1 :(得分:0)
我有同样的问题。当我读取的单元格为空时,会发生nullref。
string foo = (((Range) ActiveWorksheet.Cells[row, column]).Value2 != null
? ((Range) ActiveWorksheet.Cells[row, column]).Value2.ToString()
: "Coalesce some false string here...");
请注意,在尝试转换或转换值之前,您必须检查null 。