筆記:java下的excel操作,基於org.apache.poi
阿新 • • 發佈:2021-02-08
在萬物皆物件的java中如何操作一個excel檔案?無非就是將excel看做一個可操作的物件(java真是流氓,看誰都是他物件╭(╯^╰)╮)
該物件有如下基礎屬性:
1.sheet,也就是我們在表格中的一頁
2.row,表格中一橫排,行表示
3.cell,表格中的列
常見的excel檔案有兩種:xls,xlsx。從某度copy過來的:
1、檔案格式不同。xls 是一個特有的二進位制格式,其核心結構是複合文件型別的結構,bai而 xlsx 的核心結構是 XML 型別的結構,採用的是基於 XML 的壓縮方式,使其佔用的空間更小。xlsx 中最後一個 x 的意義就在於此。
2、版本不同。xls是excel2003及以前版本生成的檔案格式,而xlsx是excel2007及以後版本生成的檔案格式。
3、相容性不同。xlsx格式是向下相容的,可相容xls格式
說明一下:XSSFWorkbook是建立xlsx,用於儲存大量資料。HSSFWorkbook 建立xls檔案,儲存量少。其他操作都是一樣的
如果要用程式碼匯出一個excel檔案需要怎麼做?
導包導包導包。。。。一定別忘了org.apache.poi的包
//建立excel的檔案物件,包含一個 sheet(表),有標題,有cell(單元格列),有row(行) XSSFWorkbook workbook = new XSSFWorkbook(); //建立一個表 XSSFSheet sheet = workbook.createSheet("user"); //建立標題欄,第一行也就是表頭 XSSFRow titleRow = sheet.createRow(0); //定義標題欄,用陣列和list都闊以,根據自己實際需要 List<String> titleList = new ArrayList<String>(); titleList.add("姓名"); titleList.add("性別"); titleList.add("年齡"); //將標題欄資料寫入 for(int i =0;i<titleList.size();i++) { XSSFCell cell = titleRow.createCell(i); cell.setCellValue(titleList.get(i)); } //根據自己資料量大小,將資料寫入到每一行,1代表除標題之外的第一行 XSSFRow rowInfo = sheet.createRow(1); rowInfo.createCell(0).setCellValue(user.getUsername()); rowInfo.createCell(1).setCellValue(user.getSex()); rowInfo.createCell(2).setCellValue(user.getAge()); //儲存檔案 workbook.write(new FileOutputStream("E:\\myfile/test.xls"));
1.建立excel的物件
2.建立sheet
3.指定該sheet中的首行,也就是你的表頭
4.根據實際情況錄入自己的資料
5.指定匯出即可
基礎操作就是這樣了,如果是springboot,請在pom檔案中增加對於依賴,具體版本根據自己需要而定
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.4</version> </dependency>