如何通过行索引和列索引获取单元格的值

时间:2010-02-19 20:59:16

标签: c# excel

目前我正在这样做:

string cellValue = sheet.get_Range("A12", _missing).Value2.ToString();

这有效,但我真的需要按行和列索引选择一个单元格。

当我尝试

时,我得到一个空例外
string cellValue = ((Range)sheet.Cells[row, column]).Value2.ToString();

任何想法?

2 个答案:

答案 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