天天看點

POI架構:Java程式讀取Excel

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