一、hssfworkbook和xssfworkbook
Apache POI提供了兩種類型的工作簿:hssfworkbook和xssfworkbook。其中,hssfworkbook適用於較小的數據量,而xssfworkbook適用於大數據量。此外,它們的文件類型分別為.xls和.xlsx。
使用hssfworkbook時,要導入以下類:org.apache.poi.hssf.usermodel.HSSFWorkbook。使用xssfworkbook時,要導入以下類:org.apache.poi.xssf.usermodel.XSSFWorkbook。
// 使用hssfworkbook創建工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); // 使用xssfworkbook創建工作簿 XSSFWorkbook workbook = new XSSFWorkbook();
二、hssfworkbook內存溢出
由於hssfworkbook適用於小數據量,當數據量過大時,可能會出現內存溢出的情況。此時應該設置JVM堆內存的大小,增大堆內存可避免出現內存溢出的情況。
// 設置JVM堆內存的大小為1.5GB -Xmx1500m
三、hssfworkbook.write()
hssfworkbook.write()方法用於將工作簿寫入到輸出流中,從而生成Excel文件。需要注意的是,該方法要拋出IOException異常。
// 文件輸出流 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); // 將工作簿寫入輸出流中 workbook.write(fileOut); // 關閉輸出流 fileOut.close();
四、xssfworkbook 讀取慢
xssfworkbook適用於大數據量,讀取速度會比較慢。若要提高讀取速度,可以使用SAX事件模型或XSSFReader。
五、Workbook導出Excel
使用Workbook可以導出Excel文件。若要導出.xls文件,需要導入以下類:org.apache.poi.hssf.usermodel.HSSFWorkbook。
若要導出.xlsx文件,需要導入以下類:org.apache.poi.xssf.usermodel.XSSFWorkbook。
// Excel文件 File excelFile = new File("workbook.xls"); // 創建工作簿 Workbook workbook = new HSSFWorkbook(); // 創建工作表 Sheet sheet = workbook.createSheet("工作表"); // 設置單元格的值 Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("Hello World"); // 輸出流 OutputStream os = new FileOutputStream(excelFile); // 將工作簿寫入輸出流中 workbook.write(os); // 關閉輸出流 os.close();
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/151326.html