1

我阅读了如何读取单个 Excel 单元格值并自己尝试过。但是当我到达

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!

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

4

2 回答 2

1

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

要找到避免检查 的方法Null,您可以使用Convert.ToString()which 将 评估Null为空字符串,因此不会返回错误:

for (int i = 1; i < 5; i++)
{
    string a = Convert.ToString(wk.Cells[i, 1].Value2);
    Console.WriteLine(a);
}
于 2018-05-02T08:23:52.220 回答
0

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

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

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

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

于 2018-05-02T08:35:56.883 回答