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

Java 我们可以将printwriter与Apache poi工作表一起使用吗,java,excel,jakarta-ee,csv,apache-poi,Java,Excel,Jakarta Ee,Csv,Apache Poi,我正在创建工作簿并尝试下载该工作簿。当我使用workbook.write(outputstream)时,我面临的问题是,outputstream和printwriter似乎不能一起工作,这为我创建了一个已提交的响应异常。你能让我知道我们是否有任何方法来写这个使用printwriter,所以我会出来的反应已经提交了例外 pRes.setContentType(MS_EXCEL); pRes.setHeader(内容、文件名) 我得到的例外是 java.lang.IllegalStateExcept

我正在创建工作簿并尝试下载该工作簿。当我使用workbook.write(outputstream)时,我面临的问题是,outputstream和printwriter似乎不能一起工作,这为我创建了一个已提交的响应异常。你能让我知道我们是否有任何方法来写这个使用printwriter,所以我会出来的反应已经提交了例外

pRes.setContentType(MS_EXCEL); pRes.setHeader(内容、文件名)

我得到的例外是

java.lang.IllegalStateException:已为此响应调用getOutputStream() 位于org.apache.catalina.connector.Response.getWriter(Response.java:619) 位于org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.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调用的,因此需要将此
添加到页面中,以防止空白区干扰您的输出流。

我不是从jsp调用的,我是在servlet中执行此操作并从jsp调用servlet。是的,这就是我的意思。。。您是否至少在jsp中尝试过它?有人对此有任何想法吗?为什么您首先要创建writer?
        outputStream = pRes.getOutputStream();
        workbook.write(outputStream);