Imp*_*Fox 2 java apache excel apache-poi
我从一个 .xls 文件中捕获我的单元格,如下所示:
cell.getStringCellValue();
Run Code Online (Sandbox Code Playgroud)
但由于某些单元格是数字,我必须这样做:
try
{
cells[colIx] = cell.getStringCellValue();
} catch (IllegalStateException e)
{
cells[colIx] = String.valueOf(cell.getNumericCellValue());
}
Run Code Online (Sandbox Code Playgroud)
因为它得到一个 double 然后将它转换为一个字符串,这会导致一些不需要的操作,例如:
如何解决这个问题并获得实际的单元格值而不是一些转换后的数字?此外,所有单元格在excel中都定义为默认值
您可以使用 Apache POIDataFormatter的formatCellValue(Cell cell)方法,因为无论单元格类型如何,它都会将单元格的格式化值作为字符串返回。
根据DataFormatter文档 -
DataFormatter 包含格式化存储在单元格中的值的方法。当您需要完全按照 Excel 中显示的方式显示数据时,这对于报表和 GUI 演示非常有用。支持的格式包括货币、SSN、百分比、小数、日期、电话号码、邮政编码等。
示例代码
DataFormatter dataFormatter= new DataFormatter();
// Inside loop
String cellValueStr = dataFormatter.formatCellValue(cell);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2849 次 |
| 最近记录: |