简体   繁体   English

我们可以将printwriter与Apache poi工作表一起使用吗

[英]Can we use printwriter with Apache poi worksheet

I am creating a workbook and trying to download the same. 我正在创建工作簿并尝试下载该工作簿。 The issue I am facing I am when I use the workbook.write(outputstream), it seems both outputstream and printwriter will not work together and this is creating an response already committed exception for me. 我在使用workbook.write(outputstream)时遇到的问题似乎是outputstream和printwriter都不能一起工作,这正在为我创建一个已经提交的响应异常。 Could you please let me know whether we have any ways to write this using printwriter, so I will come out of response already committed exception. 您能否让我知道我们是否有任何方法可以使用printwriter编写此代码,所以我会从已经提交的异常中退出。

pRes.setContentType(MS_EXCEL); pRes.setContentType(MS_EXCEL); pRes.setHeader(CONTENT,FILENAME); pRes.setHeader(CONTENT,FILENAME);

        outputStream = pRes.getOutputStream();
        workbook.write(outputStream);

The exception i am getting is, 我得到的例外是

java.lang.IllegalStateException: getOutputStream() has already been called for this response at org.apache.catalina.connector.Response.getWriter(Response.java:619) at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198) at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125) at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118) at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:173) java.lang.IllegalStateException:在org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.org.apache.catalina.connector.Response.getWriter(Response.java:619)处已对此响应调用getOutputStream()。 java:198)位于org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)位于org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)位于org.apache.jasper.runtime .JspWriterImpl.flush(JspWriterImpl.java:173)

由于您是从jsp调用的,因此需要将此<%@ page trimDirectiveWhitespaces="true" %>到页面中,以防止空格干扰您的输出流。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM