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

Can't read Excel cell value in Visual C#

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

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

读取excel单元格的问题是,如果里面什么都没有,单元格对象就是Null。因此,它既没有 .Value2 也没有 .Value

要找到避免检查 Null 的方法,您可以使用 Convert.ToString(),它将 Null 计算为空字符串,因此不会 return一个错误:

for (int i = 1; i < 5; i++)
{
    string a = Convert.ToString(wk.Cells[i, 1].Value2);
    Console.WriteLine(a);
}

当单元格有值时,需要ToString().

当单元格没有值时,您不需要 ToString()

否则整个程序将跳过,之后的所有内容永远不会执行!!!

所以我想这只是系统是否试图将 null 值转换为字符串的问题!!!