以下代码打开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 '无法将类型为'System.Double'的对象强制转换为类型'System.String'
这个错误出现在以下代码行:
string str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
我知道有一个类似错误的问题,但那个解决方法在这种情况下似乎不起作用。
感谢您的帮助。
Excel.Range rng = (Excel.Range)xlWorkSheet.Cells[rCnt, cCnt];
string cellValue = rng.Value.ToString();
- davidjwest