我有一个包含多个标题的Excel工作表。其中一个标题是Param2。分配给Param2的变量在我的代码中是strParam2。这就是在我的代码中声明strParam2的方式
String strParam2 = xlRange.Cells[row, 7].Value;
我的代码理想地读取Excel工作表中的单元格并执行一组操作。我在excel表格中的Param2下的单元格中给出了值2。为了将其转换为字符串,我使用了行
System.Int32.TryParse(strParam2.ToString(), out iDetailLevel);
但是,我收到一个错误“无法隐式地将double转换为字符串”我也尝试过这行,但是我再次收到错误。
System.Double.TryParse(strParam2.ToString(), out iDetailLevel);
这是什么问题?以前有没有人经历过类似的事情?
答案 0 :(得分:3)
最有可能的是,您在分配到strParam2
的行上收到错误,因为xlRange.Cells[row, 7].Value
返回double
,无法隐式转换为string
}。
答案 1 :(得分:2)
看起来该特定单元格的值是双精度,而您的代码正试图通过implicitly convert
将=
变为字符串。您需要检查单元格的值并进行相应的转换
String strParam2 = xlRange.Cells[row, 7].Value;
将是:
String strParam2 = xlRange.Cells[row, 7].Value.ToString();
正如您所说,strParam2
在代码的其他地方使用,然后只需创建一个新字符串来保存标题文本并保持不变:
string headerText = xlRange.Cells[row, 7].Value.ToString();
答案 2 :(得分:0)
如果你有这条线:
String strParam2 = xlRange.Cells[row, 7].Value.ToString();
杜安建议道。您不需要在解析中包含.ToString()。只需使用strParam2值。