gpt4 book ai didi

java - 尝试读取 Excel 文件时出现非法状态异常

转载 作者:行者123 更新时间:2023-12-01 13:12:01 25 4
gpt4 key购买 nike

我尝试使用 Apache POI 库读取 excel 文件并收到以下错误:

java.lang.IllegalStateException: Cannot get a text value from a numeric cell at org.apache.poi.xssf.usermodel.XSSFCell.typeMismatch(XSSFCell.java:845) at org.apache.poi.xssf.usermodel.XSSFCell.getRichStringCellValue(XSSFCell.java:294) at org.apache.poi.xssf.usermodel.XSSFCell.getStringCellValue(XSSFCell.java:246) at com.ge.aviation.TeamDataProcessor.process(TeamDataProcessor.java:174) at com.ge.aviation.BatchCall$1.run(BatchCall.java:30) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)

我想将单元格中的数值读取为文本值。我在 Excel 中的数值是 9 位数字(例如:108010407)。

我像这样读取excel:

Cell cell = row.getCell(columnNumber)

但它被读取为“1.08010407E8”而不是“108010407”,并且我使用该值作为 ID。为了解决我的问题,我应该采取什么样的方法?

注意:当我像这样更改单元格类型时没有帮助:

cell.setCellType(Cell.CELL_TYPE_STRING);

最佳答案

我的示例来源。

            switch(cell.getCellType()) {
case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_STRING:
data = cell.getRichStringCellValue().toString();
break;
case org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC:
data = Integer.toString((int)cell.getNumericCellValue());
break;
}

javadoc链接:http://javafind.net/library/13/poi-3.10-FINAL/docs/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html#getCellType()

关于java - 尝试读取 Excel 文件时出现非法状态异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22777109/

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