日期:2014-05-17  浏览次数:20763 次

使用jxl导出excel时抛出一个异常java.lang.IllegalStateException,请高手指导解决办法
异常信息:
- Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:599)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:122)

数据量少时没问题,怎么操作都不会有这个异常,例如10条数据,完全是正常的。
但是数据如果是200条的时候,点击导出,然后在弹出的对话框中选择取消,这个异常就跑出来了,如果选择打开或者保存,excel中的数据是正确的,也没有丢失数据行。但是就是有这个异常跑出来。各位高手有没有遇见过这样的问题?请指教我解决的方法,或者思路。谢谢

------解决方案--------------------
写清楚点 最好有代码
------解决方案--------------------
没遇见过。。。
------解决方案--------------------
数据量过大建议给用poi
------解决方案--------------------


if (wwb != null) {
try {
wwb.close();
} catch (Exception e) {
}
}

与 os.close(); 冲突。你检查一下POI的API,当WritableWorkbook 关闭的时候,对应的流是否也会关闭。我的API版本和你不一致,我这里看不到close方法。


------解决方案--------------------
这个可以不管它,没啥影响。用的是tomcat么,换了高版本就没这个异常了