且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

POI框架:Java程序读取Excel

更新时间:2022-08-16 21:25:18

POI框架:Java程序读取Excel
APACHE-POI

What:POI是什么?


Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

HOW:如何使用java程序读取Excel文件中的内容?


1.坐标(导包)

<!--APACHE POI-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.11</version>
        </dependency>

2.准备一份你要读取的Excel文件,这里我拿北京市的省市区的Excel文件作为示例文件。


POI框架:Java程序读取Excel
北京市区域划分Excel文件

3.编码

public class POIDemo {
    @Test
    public void poiTestMethod() throws Exception {
        //1.读取Excel文档对象
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream("D:\\Solr\\测试数据.xls"));
        //2.获取要解析的表格(第一个表格)
        HSSFSheet sheet = hssfWorkbook.getSheetAt(0);
        //获得最后一行的行号
        int lastRowNum = sheet.getLastRowNum();
        for (int i = 0; i <= lastRowNum; i++) {//遍历每一行
            //3.获得要解析的行
            HSSFRow row = sheet.getRow(i);
            //4.获得每个单元格中的内容(String)
            String stringCellValue0 = row.getCell(0).getStringCellValue();
            String stringCellValue1 = row.getCell(1).getStringCellValue();
            String stringCellValue2 = row.getCell(2).getStringCellValue();
            String stringCellValue3 = row.getCell(3).getStringCellValue();
            String stringCellValue4 = row.getCell(4).getStringCellValue();
            System.out.println(stringCellValue0+"--"+stringCellValue1+"--"+stringCellValue2+"--"+stringCellValue3+"--"+stringCellValue4);
        }
    }
}

4.显示读取结果

"C:\Program Files\Java\jdk1.8.0_171\bin\java.exe" ...
区域编号--省份--城市--区域--邮编
QY001--北京市--北京市--东城区--110101
QY002--北京市--北京市--西城区--110102
QY003--北京市--北京市--朝阳区--110105
QY004--北京市--北京市--丰台区--110106
QY005--北京市--北京市--石景山区--110107
QY006--北京市--北京市--海淀区--110108
QY007--北京市--北京市--门头沟区--110109
QY008--北京市--北京市--房山区--110111
QY009--北京市--北京市--通州区--110112
QY010--北京市--北京市--顺义区--110113
QY011--北京市--北京市--昌平区--110114
QY012--北京市--北京市--大兴区--110115
QY013--北京市--北京市--怀柔区--110116
QY014--北京市--北京市--平谷区--110117
QY015--北京市--北京市--密云县--110228
QY016--北京市--北京市--延庆县--110229