Tomcat 容器 POI 生成 Excel 文件 可能会使用到 temp 临时文件夹

原创
2016/09/06 16:17
阅读数 7.1K
//创建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)

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部