【发布时间】:2023-03-11 05:48:01
【问题描述】:
我在通过 Apache POI 读取 xls 文件时遇到问题。
test.xls 包含一个一般类型的单元格:123,56。
测试代码:
FileInputStream myxls = new FileInputStream(path);
HSSF myworkbook = new HSSFWorkbook(myxls);
HSSF mysheet = myworkbook.getSheetAt(0);
HSSF myrow = mysheet.getRow(1);
HSSF mycell = myrow.getCell(0);
System.out.Println(mycell.toString());
输出:123.56。逗号转换为点,但我想得到结果为 123,56
我尝试使用不同的方法:
mycell.getNumericCellValue(); returns 123.56
mycell.toString(); returns 123.56
mycell.getRichStringCellValue(); returns an exception
mycell.getStringCellValue(); returns an exception
我尝试使用它:
static DataFormatter dataFormatter = new DataFormatter();
static String getStringValue(Cell cell) {
return dataFormatter.formatCellValue(cell);
}
但结果相同:123.56
【问题讨论】:
-
如果单元格是“通用”类型,那么您肯定应该使用“mycell.getStringCellValue()”,这会返回“123,56”。
标签: java apache-poi