一、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/n/151326.html
微信扫一扫
支付宝扫一扫