我需要从Excel
导入一些内容,我刚刚开始浏览,但我无法将.Value2
转换为double
(最后我想要自定义列表中的excel内容)。这就是我所做的:
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:\Test.xls");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range range;
range = xlWorksheet.get_Range("A20:V20000", Missing.Value);
int rowcount = range.Rows.Count;
double testsum = 0;
for (int i=1; i<=rowcount;i++)
{
try
{
testsum += double.Parse(range.Cells[i, 2].Value2.ToString());
}
catch
{
break;
}
}
Console.WriteLine(testsum.ToString());
Console.ReadKey();
即使填充了列,也会返回零。 这也会返回零:
testsum += range.Cells[i, 2].Value2;
一般来说,使用Interop
优于OleDB
的优势/劣势是什么?我确切地知道列格式和开始行,而不是行数。
Console.WriteLine(range.Cells[i, 2].Value2.ToString());
将所需的值写入控制台。