gpt4 book ai didi

java - Apache POI - 读取具有值的单元格时获取空指针

转载 作者:行者123 更新时间:2023-12-02 05:53:58 25 4
gpt4 key购买 nike

我正在尝试读取一行中的一些单元格,使用相同读取代码的前 5 个工作表没问题,但我的第 6 个工作表在特定单元格中返回空值,即使该单元格在电子表格中具有值也是如此。

有人看过这个吗?怎么解决?

提前致谢!

PS:这是我用来获取值的代码,工作正常,直到到达第六张。我可以看到 Excel 电子表格已填充,但仍然为空。

private String getValorTexto(HSSFSheet sheet, int indiceLinha, int indiceColuna) 
{
sheet.getRow(indiceLinha).getCell(indiceColuna).setCellType(HSSFCell.CELL_TYPE_STRING);
if (sheet.getRow(indiceLinha).getCell(indiceColuna).getCellType() == HSSFCell.CELL_TYPE_STRING) {
return sheet.getRow(indiceLinha).getCell(indiceColuna).getStringCellValue().trim();
} else {
return String.valueOf(sheet.getRow(indiceLinha).getCell(indiceColuna).getNumericCellValue());
}
}

最佳答案

我猜想强制单元格类型为 HSSFCell.CELL_TYPE_STRING 可能是导致 null 的原因。

从任何类型的单元格(您可能还有日期、公式等)获取字符串值的更可靠方法是使用 DataFormatter :

import org.apache.poi.ss.usermodel.DataFormatter;

static DataFormatter dataFormatter = new DataFormatter();

static String getStringValue(Cell cell) {
return dataFormatter.formatCellValue(cell);
}

当您想要获得与 Excel 中显示的完全相同的内容(例如,四舍五入到给定小数位的数字)时,它特别有用。

关于java - Apache POI - 读取具有值的单元格时获取空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23280533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com