//创建Excel对象,此时未使用 temp file
SXSSFWorkbook wb = new SXSSFWorkbook(1000);
//temp files will be gzipped
wb.setCompressTempFiles(true);
//注意:以下语句将会使用 temp file
Sheet sh = wb.createSheet(title);
如果 tomcat 下无 temp 目录,将报错:
2016-9-6 15:54:53 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [default] in context with path [/] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: java.io.IOException: No such file or directory] with root cause
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(File.java:1705)
at java.io.File.createTempFile0(File.java:1726)
at java.io.File.createTempFile(File.java:1838)
at org.apache.poi.xssf.streaming.GZIPSheetDataWriter.createTempFile(GZIPSheetDataWriter.java:39)
at org.apache.poi.xssf.streaming.SheetDataWriter.<init>(SheetDataWriter.java:49)
at org.apache.poi.xssf.streaming.GZIPSheetDataWriter.<init>(GZIPSheetDataWriter.java:32)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheetDataWriter(SXSSFWorkbook.java:239)
at org.apache.poi.xssf.streaming.SXSSFSheet.<init>(SXSSFSheet.java:67)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:564)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:584)