報表讀寫 - POI概述
阿新 • • 發佈:2020-12-06
報表讀寫 - POI
報表:簡單的說,報表就是用表格、圖表等格式來動態顯示資料,可以用公式表示為:“報表 = 多樣的格式 + 動態的資料”。
報表的種類有很多:Excel報表,PDF報表,網頁報表等,他們各有優缺點
在本課程中,我們主要來將Excel報表。
對於Excel報表的技術實現上也有很多種選擇:
- JXL:支援xls檔案操作
- POI:支援xls和xlsx檔案操作
我們只要來講POI技術,要使用POI就要匯入其座標,如下
<!--POI--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.0.1</version> </dependency>
1.1 POI寫Excel檔案
在測試包下建立POI測試類:com.itheima.service.store.PoiTest
public class PoiTest { @Test public void testWriteByPoi() throws IOException { //1.獲取到對應的Excel檔案,工作簿檔案 Workbook wb = new XSSFWorkbook(); //2.建立工作表 Sheet sheet = wb.createSheet(); wb.createSheet("這是啥呀"); //3.建立工作表中的行物件 Row row = sheet.createRow(1); //4.建立工作表中行中的列物件 Cell cell = row.createCell(1); //5.在列中寫資料 cell.setCellValue("測試一下單元格"); //建立一個檔案物件,作為excel檔案內容的輸出檔案 File f = new File("test.xlsx"); //輸出時通過流的形式對外輸出,包裝對應的目標檔案 OutputStream os = new FileOutputStream(f); //將記憶體中的workbook資料寫入到流中 wb.write(os); wb.close(); os.close(); } }
使用單元測試進行測試!
1.2 POI讀Excel檔案
建立讀Excel的測試方法:testReadByPoi
@Test public void testReadByPoi() throws IOException { //1.獲取要讀取的檔案工作簿物件 Workbook wb = new XSSFWorkbook("test.xlsx"); //2.獲取工作表 Sheet s = wb.getSheetAt(0); //3.獲取行 Row row = s.getRow(3); //4.獲取列 Cell cell = row.getCell(1); //5.根據資料的型別獲取資料 // String data = cell.getStringCellValue(); // double data = cell.getNumericCellValue(); boolean data = cell.getBooleanCellValue(); System.out.println(data); wb.close(); }
直接讀取第一節建立好的Excel檔案