1. 程式人生 > >POI導出excel學習

POI導出excel學習

文件信息 tex lan pac 出現 center quic except ali

1.POI是什麽?

  • poi是Apache團隊開發的專門面對用java處理Excel文檔的工具。
  • 官網地址:https://poi.apache.org/

2.操作流程

  • 此部分通過代碼解釋使用POI將集合導出Excel的流程,在下一節中詳細解釋。
   /**
     * 將集合轉化為Excel表格
     */
    public void getExcel(List<List<String>> list) throws IOException {
        //1.標題
        String[] title = {"招聘名稱", "投遞郵箱", "信息來源", "信息城市", "來源網站"};
        
//2.文件名 String fileName = new String("企業郵箱信息.xls".getBytes(), "utf-8"); //3.sheet名 String sheetName = new String("梧桐果、海投網、我司企業郵箱信息".getBytes(), "utf-8"); // 1.創建一個HSSFWorkbook,對應一個Excel文件 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); // 2.在workbook中添加一個sheet,對應Excel文件中的sheet
HSSFSheet sheet = hssfWorkbook.createSheet(sheetName); // 3.在sheet中添加表頭第0行,也就是標題行 HSSFRow row = sheet.createRow(0); // 4.創建單元格,並設置單元格格式 HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//樣式為中心水平對齊
//5.創建列單元格 for (int i = 0; i < title.length; i++) { HSSFCell cell = row.createCell(i); cell.setCellValue(title[i]); cell.setCellStyle(cellStyle); }//表頭 for (int y = 0; y < list.size(); y++) { HSSFRow row1 = sheet.createRow(y + 1);//創建行 List<String> strings = list.get(y); for (int x = 0; x < title.length; x++) { HSSFCell cell = row1.createCell(x); cell.setCellValue(strings.get(x)); cell.setCellStyle(cellStyle);//創建列 } } File file = new File("C:\\Users\\bxk\\Desktop\\" + fileName); OutputStream outputStream = new FileOutputStream(file); hssfWorkbook.write(outputStream); outputStream.flush(); outputStream.close(); }

3.具體介紹

3.1文件信息

        //1.標題
        String[] title = {"招聘名稱", "投遞郵箱", "信息來源", "信息城市", "來源網站"};
        //2.文件名
        String fileName = new String("企業郵箱信息.xls".getBytes(), "utf-8");
        //3.sheet名
        String sheetName = new String("梧桐果、海投網、我司企業郵箱信息".getBytes(), "utf-8");

3.2 創建WorkBook

 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //對應一個Excel文件

  demo:如下文就可以生成一個空白的、名為workbook的xlsk文檔。註意當文件名為中文的時候可能會出現亂碼。使用 new String("中文","utf-8") ,將解決亂碼問題。

HSSFWorkbook wb = new XSSFWorkbook(); try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) { wb.write(fileOut); }

3.3創建Sheet

HSSFSheet sheet = hssfWorkbook.createSheet(sheetName);//對應Excel文件中的sheet   其中sheetName不能為 "" ,不能為 Null

String safeName = WorkbookUtil.createSafeSheetName("");//這樣創建的sheetName ""會轉化為empty,null會轉化為“null

這個sheet我當時也找了好一會,可能是實在是不熟悉Excel。sheet就表示excel中的某一張表,當然既然是表,就會有表名。所以sheetName的作用就是顯示表名。上截圖解釋具體位置。

技術分享圖片

打開官網(上面有鏈接)——API介紹(Component)——快速指南(Quick Guide) 也能看到詳細的例子和解釋。

技術分享圖片

POI導出excel學習