我从像这样的.xls文件中捕获我的单元格:
cell.getStringCellValue();
但由于某些单元格是数字的,我必须这样做:
try
{
cells[colIx] = cell.getStringCellValue();
} catch (IllegalStateException e)
{
cells[colIx] = String.valueOf(cell.getNumericCellValue());
}
因为它获得了一个双倍然后将其转换为字符串,这会导致一些不需要的操作,如:
如何解决此问题并获取实际单元格值而不是某些转换后的数字?此外,所有单元格在excel
中定义为默认单元格答案 0 :(得分:4)
您可以使用Apache POI DataFormatter
的{{1}}方法,因为它将单元格的格式化值作为字符串返回,而不管单元格类型如何。
根据DataFormatter doc -
DataFormatter包含格式化存储在的值的方法 细胞。这对于您的报表和GUI演示非常有用 需要显示与Excel中显示的数据完全相同的数据。支持的格式 包括货币,SSN,百分比,小数,日期,电话号码, 邮政编码等。
示例代码
formatCellValue(Cell cell)
答案 1 :(得分:0)
尝试使用cell.getCellType()