SXSSFWorkbook的使用

时间:2025-03-20 10:06:36
public JSONObject testSXSSFWorkbook(HttpServletResponse res) { SXSSFWorkbook sxssfWorkbook = null; try { // 使用poi的 SXSSFWorkbook,他会把内存数据存入磁盘中,占用内存就小 //SXSSFWorkbook 只会保留500条数据在内存中,其它的数据都会写到磁盘里,这样的话占用的内存就会很少 // 这里要注意的是,如果你需要某些样式,必须使用XSSFWorkbook 先行设置,否则样式会不生效 XSSFWorkbook xssfWorkbook = new XSSFWorkbook(); XSSFSheet xssfSheet = xssfWorkbook.createSheet("0"); // 设置 xssfSheet 的样式。 // 创建 SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(xssfWorkbook, 500); SXSSFSheet sxssfSheet = sxssfWorkbook.getSheetAt(0); List<String> testList = new ArrayList<>(); testList.add("1111"); testList.add("1111"); testList.add("1111"); // 设置 sxssfSheet 内容、样式等等,这里我们推荐进行数据库分页查询,一步步写入到sheet,这样数据库压力和应用内存占用会更加小。 // 最后向客户端输出文件流 sxssfWorkbook.write(res.getOutputStream()); } catch (IOException e) { log.error("生成导出文件失败,错误信息", e); } finally { if (sxssfWorkbook != null) { sxssfWorkbook.dispose();// 释放workbook所占用的所有windows资源 } } return null; }