POI操作excel簡單說明

POI簡單使用說明

1 依賴關(guān)系

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.16</version>
        </dependency>

2 主要操作對象

WorkBook : excel文件
Sheet : excel的sheet
Row : sheet里的一行
cell:row里的單元格

POI對于2007以前的版本有一套類,2007以后有一套類,這兩套類區(qū)別在于首字母一個是X,一個是H,但均實現(xiàn)了上面的對應(yīng)的接口,所以可以統(tǒng)一操作,無需關(guān)注這些細節(jié)。

3 上例子

 public static void main(String[] args) throws Exception {
        String filePath = "e:/test.xlsx";
        Workbook book = new XSSFWorkbook();

   // 寫數(shù)據(jù)到excel
        Sheet sheet = book.createSheet("poi測試demo");
        int totalRow = sheet.getPhysicalNumberOfRows();
        Row row = sheet.createRow(totalRow);
        row.createCell(0).setCellValue("序號");
        row.createCell(1).setCellValue("姓名");
        row.createCell(2).setCellValue("性別");
        row.createCell(3).setCellValue("多年以后,面對行刑隊,奧里雷亞諾.布恩迪亞上校將會回想起父親帶他去見識冰塊的那個遙遠的下午");
        row.createCell(4).setCellValue(4);
           
        //中文自適應(yīng)寬度
        int length = row.getCell(3).getStringCellValue().getBytes("UTF-8").length * 256;
        sheet.setColumnWidth(3,length);


        FileOutputStream fos = new FileOutputStream(filePath);
        book.write(fos);
        book.close();
        fos.close();




        BufferedInputStream ins = new BufferedInputStream(new FileInputStream(filePath));

        Workbook readBook = WorkbookFactory.create(ins);
//從excel讀數(shù)據(jù)
        sheet = readBook.getSheetAt(0);
        row = sheet.getRow(0);
        String value = row.getCell(3).getStringCellValue();
        System.err.println(value);
        readBook.close();

    }

需要注意是
使用Workbook readBook = WorkbookFactory.create(ins); 這句可以屏蔽xls與xlsx的差異,統(tǒng)一使用Workbook來操作。
中文自適應(yīng)寬度需要注意下,需要手動設(shè)置其寬度,設(shè)置cell寬度自適應(yīng)只對英文有效。
列寬度的操作應(yīng)該在所以數(shù)據(jù)填寫完畢后完成,否則會有性能損失。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 使用首先需要了解他的工作原理 1.POI結(jié)構(gòu)與常用類 (1)創(chuàng)建Workbook和Sheet (2)創(chuàng)建單元格 (...
    長城ol閱讀 8,745評論 2 25
  • POI操作Excel Excel簡介一個excel文件就是一個工作簿workbook,一個工作簿中可以創(chuàng)建多張工作...
    灰氣球閱讀 5,029評論 2 48
  • 轉(zhuǎn)自鏈接 目錄 1.認(rèn)識NPOI 2.使用NPOI生成xls文件 2.1創(chuàng)建基本內(nèi)容 2.1.1創(chuàng)建Workboo...
    腿毛褲閱讀 11,161評論 1 3
  • 上兩篇文章我們討論了文件(夾)操作、字節(jié)流、字符流操作,這篇文章介紹一個特殊的文件操作,就是Excel。想必大家都...
    馬可吃菠蘿閱讀 550評論 0 0
  • 1.數(shù)組移除 Array.prototype.indexOf = function(val){ for(var...
    西西_80ff閱讀 271評論 0 0

友情鏈接更多精彩內(nèi)容