无法在Visual C#中读取Excel单元格值

时间:2018-05-02 08:15:38

标签: c# excel interop cell

我读了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!

为什么会这样,我该如何解决?

2 个答案:

答案 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 值转换为字符串的问题!!!