Java使用POI读取Excel文件

上篇文章记录了简单的POI创建Excel文件,依赖导入可参考上篇
POI读取excel中公式

    @Test
    public void testRead() throws Exception {
        //读取文件的位置
        String path = "D:\\03版excel测试写入速度.xls";
        //获取文件输入流
        FileInputStream fileInputStream = new FileInputStream(path);
        //通过文件流创建(获取)工作簿,excel中的操作,Java基本都能实现,这里的新建的对象注意与excel版本对应
        Workbook workbook = new HSSFWorkbook(fileInputStream);
        //获取工作表sheet,0表示获取第一个sheet
        Sheet sheet = workbook.getSheetAt(0);
        //获取第一行数据
        Row row = sheet.getRow(0);
        //获取第一行第一个数据
        Cell cell = row.getCell(0);
        System.out.println(cell.getNumericCellValue());
    }

这里可能很多人会输出报错,如下

java.lang.IllegalStateException: Cannot get a xxx类型 value from a xxx类型 cell

这是因为excel单元格的内容格式有很多比如:字符串类型、数字类型、日期类型等。
我这里测试用的excel文件里的内容是数字型所以使用cell.getNumericCellValue()获取,如果是其他类型可cell.查看其他获取方法。

实际使用可以使用for循环读取excel中所有数据,配合switch-case(也可以使用if-else if)对单元格数据类型进行判断,使用对应的获取方法进行获取。使用循环时常用的两个方法 1.sheet.getPhysicalNumberOfRows();获取工作表的行数
2.row.getPhysicalNumberOfCells();获取每行的列数
获取单元格类型的方法
CellType cellType = cell.getCellType();
进行类型判断方法,其他类型如下图可替换NUMERIC
cellType.equals(CellType.NUMERIC)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值