当前位置:   article > 正文

POI操作Excel时出现的IllegalStateException异常解决:Cannot get a text value from a numeric cell_sxssfworkbook cant get a text from a numeric cell

sxssfworkbook cant get a text from a numeric cell

POI操作Excel时出现异常报错:java.lang.IllegalStateException: Cannot get a text value from a numeric cell
先看下代码:

public class TestPoi {

    // 从Excel中读取数据
    @Test
    public void readExcel2() throws IOException {
        XSSFWorkbook workbook = new XSSFWorkbook("D:/hello.xlsx");
        XSSFSheet sheet = workbook.getSheetAt(0);// 获取第一个sheet对象
        // 获取最后一行
        int rows = sheet.getLastRowNum();
        for (int i=0;i<=rows;i++){
            XSSFRow row = sheet.getRow(i);
            // 获取当前行的最后一个单元格
            short cells = row.getLastCellNum();
            for (short j=0;j<cells;j++){
                XSSFCell cell = row.getCell(j);
                System.out.println(cell.getStringCellValue());
            }
        }

        //关闭
        workbook.close();
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

代码只是用来举例的,运行单元测试后出现:java.lang.IllegalStateException: Cannot get a text value from a numeric cell
原因在于:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric cell的异常错误。
解决方案:在Excel文件中,将数字所在的单元格前加上`,或者将数字列的格式设置为文本,然后双击一个数字,再运行单元测试就正常了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/88898
推荐阅读
相关标签
  

闽ICP备14008679号