最近在做一个 导入用户的功能。用户有一个电话属性 和密码 。 在导入的时候 变成
如果密码填写:123 poi 读取会变成 123.0
电话 会变成科学计数。 实在是头疼啊。
然后各种中文网百度,没有找到靠谱的答案。
使用了神器网站:stackover ,找到了,解决办法:
cell.setCellType(Cell.CELL_TYPE_STRING);
使用这条语句就可以了。
for(int colNum=0;colNum<row.getLastCellNum();colNum++){
HSSFCell cell = row.getCell(colNum);
if(cell == null){
continue;
}
cell.setCellType(HSSFCell.CELL_TYPE_STRING);//无条件转为文本,迫不得已
String cellValue=null;
代码的位置见上面。
如果你有需求 需要单独对一列进行 转换。 需要再加列的判断。
不过上面的做法,官方不建议这样做,先目前,这样粗暴的解决这个问题。以后找到了更好的方法,我在把这个博文更新下。
见stackover :
官方解释: