我读了How to read single Excel cell value并亲自尝试过。但是当我到达
时string s = (myExcelWorkSheet.Cells[3, "E"] as Excel.Range).Value2.ToString();
一切都被终止,表格也显示出来了。
//Everything worked fine here.
string s = (myExcelWorkSheet.Cells[3, "E"] as Excel.Range).Value2.ToString();
//Everything after this was all skipped!
为什么会这样,我该如何解决?
答案 0 :(得分:1)
读取excel单元格的问题是,如果其中没有任何内容,则单元格对象为Null
。因此,它.Value2
也没有.Value
。
要找到避免检查Null
的方法,可以使用Convert.ToString()
将Null
计算为空字符串,因此不会返回错误:
for (int i = 1; i < 5; i++)
{
string a = Convert.ToString(wk.Cells[i, 1].Value2);
Console.WriteLine(a);
}
答案 1 :(得分:1)
当单元格有值时,您需要ToString()
。
当 单元格没有值时,不需要ToString()
!
否则整个程序将跳过,之后的所有内容从不执行!!!
所以我想这只是一个系统是否试图将 null 值转换为字符串的问题!!!