gpt4 book ai didi

c# - System.InvalidCastException double 字符串

转载 作者:行者123 更新时间:2023-11-30 13:54:09 24 4
gpt4 key购买 nike

以下代码打开一个 Excel 电子表格并逐个单元格地浏览它。 Console.WriteLine 调用用于检查它是否正常工作。

xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(@"\Extracts\Test.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

range = xlWorkSheet.UsedRange;
rw = range.Rows.Count;
cl = range.Columns.Count;

for (rCnt = 1; rCnt <= rw; rCnt++)
{
for (cCnt = 1; cCnt <= cl; cCnt++)
{
string str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
Console.WriteLine("Row:", str.ToString());
}
}

我得到错误:

System.InvalidCastException 'Unable to cast object of type 'System.Double' to type 'System.String'.'

这是指行:

string str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;

我知道还有另一个问题有同样的错误,但在这种情况下该解决方案似乎不起作用。

感谢帮助。

最佳答案

不要投 double 值。只需调用 ToString得到

The string representation of the value of this instance.

string str = (range.Cells[rCnt, cCnt] as Excel.Range).Value2.ToString();

编辑:

在字符串上调用 ToString 是不必要的,因为它已经是一个字符串。你可以简单地这样写:

Console.WriteLine("Row:", str);

关于c# - System.InvalidCastException double 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46443059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com