
HSSFCellStyle cellStyle = wb.createCellStyle()
HSSFDataFormat format = wb.createDataFormat()
cellStyle.setDataFormat(format.getFormat("@"))
// HSSFRow row = sheet.createRow(i+2)//这句不可重森培旅用
HSSFCell policyNoCell = row.createCell((short) 0)
policyNoCell.setCellStyle(cellStyle)
policyNoCell.setCellValue(new HSSFRichTextString(rs.getString(3)))//这句不可重用
你这个完全可以卸载循环外啊,creat这么多,肯定占内存
就算你有多个style,你也可以只需要creat一次,然后反复调用就好了
切记,以后再代码设计中,一定要考虑最大可能的重用,而不是每次需要去创造(new(此凳)、crate什么的),这是一种思维,祝你好运
记得做运手有个属性,POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的电子表格且堆空间有限时使用。SXSSF通过限制内存中可访悄闹问的记录行数来实现其低内存利用,当达到限定值时,新一行数据的加入会引起老一行的数据刷新到硬盘。
比如内存中限制行数为100,当行号到达101时,行纯嫌号为0的记录刷新到硬盘并从内存中删除,当行号到达102时,行号为1的记录刷新到硬盘,并从内存中删除,以此类推。
rowAccessWindowSize代表指定的内存中缓存记录数,默认为100,此值可以通过
new SXSSFWorkbook(int rowAccessWindowSize)或SXSSFSheet.setRandomAccessWindowSize(int windowSize)来设置。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)