添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  <poi.version>3.17</poi.version>

最近在写一个写入excel并且以流形式返回然后下载的操作,数据为7w多条的时候,一开始用弟弟中的弟弟HSSFWorkbook,嗯,结果可想而知,直接GG;我又换成了XSSFWorkbook,数据是能出来,但是非常慢,所以想着为何不用SXSSFWorkbook呢。
然后将poi版本升级到3.9

2结果
7w多条数据所用时长对比
SXSSFWorkbook所用时间21135毫秒
在这里插入图片描述
XSSFWorkbook所用时间 76331毫秒
在这里插入图片描述
从这个结果看来提升巨大

1背景poi版本 &lt;poi.version&gt;3.17&lt;/poi.version&gt;最近在写一个写入excel并且以流形式返回然后下载的操作,数据为7w多条的时候,一开始用弟弟中的弟弟HSSFWorkbook,嗯,结果可想而知,直接GG;我又换成了XSSFWorkbook,数据是能出来,但是非常慢,所以想着为何不用SXSSFWorkbook呢。然后将poi版本升级到3.92结果7w多条数据所用时长对比SXSSFWorkbook所用时间21135毫秒XSSFWorkb (5条消息) POI导出Excel的三种方式HSSFWorkbook ,XSSFWorkbook ,SXSSFWorkbook区别_CLG_CSDN的博客-CSDN博客 https://blog.csdn.net/CLG_CSDN/article/details/87162586
主要有两个地方耗时比较长,  一是获取数据耗时, 可以单独把取数据逻辑拿出来在命令行运行一下用时多少。 另一个就是autoSizeColumn, api描述说数据较大时耗时非常大, 建议在结果的时候调用一次.(ps:autoSizeColumn会遍历每一列的每一行数据获取最大长度) 我测试了10w条日志记录,38列,sheet1(6w)和sheet2(4w),把autoSizeColumn放
XSSFWorkbook(java.io.File file) XSSFWorkbook(java.io.InputStream is) XSSFWorkbook(OPCPackage pkg) XSSFWorkbook(java.la...
这看起来像是一个Java代码中创建一个新的Excel文件的语句。它使用了Apache POI库中的XSSFWorkbook类来创建一个新的Excel工作簿对象。这个对象可以用来创建和编辑Excel文件中的工作表、单元格和其他元素。以下是可能类似的示例代码: ```java import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; public class CreateExcel { public static void main(String[] args) throws IOException { // Create a new workbook XSSFWorkbook workbook = new XSSFWorkbook(); // Create a blank sheet workbook.createSheet("Sheet1"); // Write the workbook to a file FileOutputStream fileOut = new FileOutputStream("workbook.xlsx"); workbook.write(fileOut); fileOut.close(); // Close the workbook workbook.close(); 这个示例代码创建了一个新的Excel工作簿,并在其中创建了一个名为“Sheet1”的空白工作表。然后,它将工作簿写入名为“workbook.xlsx”的文件中,并关闭工作簿。