无法在 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 值转换为字符串的问题!!!
我阅读了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 值转换为字符串的问题!!!