首页 新闻 会员 周边

C#类型转换

0
悬赏园豆:20 [待解决问题]

获取excel表格中的数据时

var cell = row.GetCell(k);
person.Age=
Convert.ToInt32(cell.ToString() );

Age是int类型但是用Convert.ToInt32转换总是报错,说字符串格式不正确

C#
愿赌不服输的主页 愿赌不服输 | 初学一级 | 园豆:129
提问于:2017-05-04 13:35
< >
分享
所有回答(2)
0

这都已经说这么明显了格式不正确了。

而且不应该是cell.tostring吧,再怎么地也应该是类似cell.getvalue啥的吧。

Daniel Cai | 园豆:10424 (专家六级) | 2017-05-04 13:48

这是我昨天遇到的,今天凭印象写出来的,您说的对,谢谢您的提醒,确实需要加getvalue,昨天我添加监视cell.getvalue.ToString()显示的值是18,但是我怎么转换不成int类型,我以为是有空格,但是加Trim也转换不了

支持(0) 反对(0) 愿赌不服输 | 园豆:129 (初学一级) | 2017-05-04 14:06

@愿赌不服输: Trim默认只是处理char(32),你需要仔细看清楚,比如中文的空格及其他“白色”或“透明”编码值等等

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-05-04 15:14

@愿赌不服输: 你debug后直接看看cell.getvalue.ToString().trim()后是什么吧。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2017-05-04 16:11
0

是在 ToInt32这步的异常。

在调试模式下,看看cell.ToString()的结果是个神马东西,你就知道为什么了。

西漠以西 | 园豆:1675 (小虾三级) | 2017-05-04 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册