【问题标题】:Can we use printwriter with Apache poi worksheet我们可以将 printwriter 与 Apache poi 工作表一起使用吗
【发布时间】:2013-04-02 16:06:48
【问题描述】:

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

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

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

我得到的例外是,

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)

【问题讨论】:

  • 有人对此有任何想法吗?
  • 你为什么要创建作家?

标签: java excel jakarta-ee csv apache-poi


【解决方案1】:

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

【讨论】:

  • 我不是从 jsp 调用的,我是在 servlet 中执行此操作并从 jsp 调用 servlet。
  • 是的,这就是我的意思...你至少在 jsp 中尝试过吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 2022-01-04
  • 2012-07-13
相关资源
最近更新 更多