POI使用案例01---读取excel的数据

来源:互联网 发布:seo快速排名 编辑:程序博客网 时间:2024/05/22 00:09

1、创建maven项目

2、导入poi的依赖

这里写图片描述

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->        <dependency>            <groupId>org.apache.poi</groupId>            <artifactId>poi</artifactId>            <version>3.17</version>        </dependency>        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->        <dependency>            <groupId>org.apache.poi</groupId>            <artifactId>poi-ooxml</artifactId>            <version>3.17</version>        </dependency>

3、读取excel内容

3.1、读取一个单元格

这里写图片描述

3.2、遍历单元格

//将一个excel文件转为一个Workbook对象。            Workbook workbook = WorkbookFactory.create(new File("src/main/resources/13523712402_http.xls"));            //读取一个sheet            Sheet sheet = workbook.getSheetAt(0);            Row row = null;            for (int i = 0; i < 2; i++) {                row = sheet.getRow(i);                for (int j = 0; j < 3; j++) {                    Cell cell = row.getCell(j);                    //System.out.println(cell.getCellTypeEnum());                    System.out.println(cell.getStringCellValue());                }            }

报错: java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell, 无法将数值类型转化成String

原因: getStringCellValue()无法将数值类型转化为string

这里写图片描述

解决方法:根据cell的type, 将结果都转为String

    private String getCellValue(Cell cell) {        String result = null;        switch (cell.getCellTypeEnum()) {        case BLANK:            result = "";            break;        case NUMERIC:             result = String.valueOf(cell.getNumericCellValue());            break;        case FORMULA:            result = String.valueOf(cell.getCellFormula());            break;        case STRING:            result = cell.getStringCellValue();            break;        default:            break;        }        return result;    }
原创粉丝点击