2014-08-27 104 views
0

我试图读取可能有以下格式的Excel单元格:试图读取文本Excel单元格中使用Java的Apache POI

087 
098 
057 
044 

我想作以下:

workbookSheet.getRow(row).getCell(columnItemId.getIndex()).setCellType(Cell.CELL_TYPE_STRING); 
String cell = workbookSheet.getRow(row).getCell(columnItemId.getIndex()) 
          .getStringCellValue(); 

问题是,我得到的数字没有零,例如87代替087.

有没有人已经解决了这样的事情?

回答

2

从数值单元中检索的值是数字,double,它没有任何格式信息,例如前导零。 getStringCellValue方法将double转换为String,但它从未显示过显示的前导零。

要获取表示如何在Excel中格式化单元格的字符串,可以使用Apache POI的DataFormatter类。

DataFormatter df = new DataFormatter(); 
String text = df.formatCellValue(cell); 

这应该让你的字符串值,为Excel使得它在细胞内,根据存在于细胞上的格式。

+0

非常感谢你,它的作品完美! – user3444135 2014-08-27 20:54:23

相关问题