【发布时间】:2021-11-26 11:05:51
【问题描述】:
嘿,伙计们,我的问题是当我阅读单元格时,单元格中什么都没有,我有一个错误,我该如何检查?
var aExcel = sh.Cells[26, 2].Value.ToString();
double test = Convert.ToDouble(aExcel);
还有一个问题,我如何阅读更多单元格?因为我的代码太长了……
var aExcel = sh.Cells[26, 2].Value.ToString();
var bExcel = sh.Cells[27, 2].Value.ToString();
var cExcel = sh.Cells[28, 2].Value.ToString();
var dExcel = sh.Cells[29, 2].Value.ToString();
var eExcel = sh.Cells[30, 2].Value.ToString();
var fExcel = sh.Cells[31, 2].Value.ToString();
double test1 = Convert.ToDouble(aExcel);
double test2 = Convert.ToDouble(bExcel);
double test3 = Convert.ToDouble(cExcel);
double test4 = Convert.ToDouble(dExcel);
double test5 = Convert.ToDouble(aExcel);
【问题讨论】:
-
我使用 Microsoft.Office.Interop.Excel;
-
我使用的是 Microsoft.Office.Interop.Excel; - 你可以通过使用 EPPlus 之类的东西来避免这种情况
-
循环似乎适合使用数组来收集数据
-
我有一个错误 - 总是,总是给出准确的错误文本。这是您能给我们的最有用的调试信息。没有它,说“出现错误”就像打电话给你的机械师说“我的车发出噪音”
-
这种通过字符串跳闸可能不可靠。使用调试器检查您已经在
sh.Cells[26, 2]中获得的数据类型 - 例如将sh.Cells[26, 2].GetType()放在即时窗口中——如果它已经是双精度的,那么在字符串中跳闸是不明智的;直接做演员