<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Error while downloading application/excel mime type</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=14024577" />
  <subtitle>Error while downloading application/excel mime type</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=14024577</id>
  <updated>2026-06-12T22:25:49Z</updated>
  <dc:date>2026-06-12T22:25:49Z</dc:date>
  <entry>
    <title>RE: Error while downloading application/excel mime type</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14292641" />
    <author>
      <name>interesting facts</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14292641</id>
    <updated>2012-06-07T08:47:08Z</updated>
    <published>2012-06-07T08:47:08Z</published>
    <summary type="html">Working on it</summary>
    <dc:creator>interesting facts</dc:creator>
    <dc:date>2012-06-07T08:47:08Z</dc:date>
  </entry>
  <entry>
    <title>RE: Error while downloading application/excel mime type</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14029879" />
    <author>
      <name>Subhasis Roy</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14029879</id>
    <updated>2012-05-21T11:25:26Z</updated>
    <published>2012-05-21T11:25:26Z</published>
    <summary type="html">&amp;#34;res&amp;#34; is RenderResponse. &lt;br /&gt;&lt;br /&gt;public ActionForward render(ActionMapping mapping, ActionForm form,&lt;br /&gt;			PortletConfig config, RenderRequest req, RenderResponse res)&lt;br /&gt;			throws Exception {&lt;br /&gt;&lt;br /&gt;                    &lt;br /&gt;				HttpServletResponse response = PortalUtil&lt;br /&gt;						.getHttpServletResponse(res);&lt;br /&gt;				response.setContentType(&amp;#34;application/vnd.ms-excel&amp;#34;);&lt;br /&gt;				response.setHeader(&amp;#34;Content-Disposition&amp;#34;,&lt;br /&gt;						&amp;#34;attachment;filename=&amp;#34; + fileName);&lt;br /&gt;				res.setContentType(&amp;#34;application/vnd.ms-excel&amp;#34;);&lt;br /&gt;				res.addProperty(HttpHeaders.CONTENT_DISPOSITION,&lt;br /&gt;						&amp;#34;attachment; filename=&amp;#34; + fileName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;I set the content type in both RenderResponse and HttpServletResponse and it worked for me</summary>
    <dc:creator>Subhasis Roy</dc:creator>
    <dc:date>2012-05-21T11:25:26Z</dc:date>
  </entry>
  <entry>
    <title>RE: Error while downloading application/excel mime type</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14024906" />
    <author>
      <name>sraddhanjali Jena</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14024906</id>
    <updated>2012-05-21T06:52:31Z</updated>
    <published>2012-05-21T06:52:31Z</published>
    <summary type="html">Hey my question may be silly but I am doing this for the first time.&lt;br /&gt;&lt;br /&gt;What is res in the below line ?&lt;br /&gt;HttpServletResponse response = PortalUtil.getHttpServletResponse(res);&lt;br /&gt;&lt;br /&gt;And do we need to set the content type two times using response and res ?&lt;br /&gt;response.setContentType(&amp;#34;application/vnd.ms-excel&amp;#34;);&lt;br /&gt;response.setHeader(&amp;#34;Content-Disposition&amp;#34;, &amp;#34;attachment;filename=&amp;#34; + fileName);&lt;br /&gt;res.setContentType(&amp;#34;application/vnd.ms-excel&amp;#34;);&lt;br /&gt;&lt;br /&gt;BTW Thanks !!!</summary>
    <dc:creator>sraddhanjali Jena</dc:creator>
    <dc:date>2012-05-21T06:52:31Z</dc:date>
  </entry>
  <entry>
    <title>RE: Error while downloading application/excel mime type</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14024249" />
    <author>
      <name>Subhasis Roy</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14024249</id>
    <updated>2012-05-21T06:32:24Z</updated>
    <published>2012-05-21T06:32:24Z</published>
    <summary type="html">I have tried with the following code which worked for me:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HttpServletResponse response = PortalUtil.getHttpServletResponse(res);&lt;br /&gt;response.setContentType(&amp;#34;application/vnd.ms-excel&amp;#34;);&lt;br /&gt;response.setHeader(&amp;#34;Content-Disposition&amp;#34;,	&amp;#34;attachment;filename=&amp;#34; + fileName);&lt;br /&gt;res.setContentType(&amp;#34;application/vnd.ms-excel&amp;#34;);&lt;br /&gt;res.addProperty(HttpHeaders.CONTENT_DISPOSITION,	&amp;#34;attachment; filename=&amp;#34; + fileName);&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;					OutputStream out = res.getPortletOutputStream();&lt;br /&gt;					InputStream in = new FileInputStream(new File(excelPath));&lt;br /&gt;					if (in == null) {&lt;br /&gt;						out.close();&lt;br /&gt;					} else {&lt;br /&gt;						byte[] buffer = new byte[4096];&lt;br /&gt;						int len;&lt;br /&gt;&lt;br /&gt;						while ((len = in.read(buffer)) != -1) {&lt;br /&gt;							out.write(buffer, 0, len);&lt;br /&gt;						}&lt;br /&gt;&lt;br /&gt;						out.flush();&lt;br /&gt;						in.close();&lt;br /&gt;						out.close();&lt;br /&gt;					}&lt;br /&gt;&lt;br /&gt;				} catch (Exception ex) {&lt;br /&gt;&lt;br /&gt;					_log.error(ex);&lt;br /&gt;				}</summary>
    <dc:creator>Subhasis Roy</dc:creator>
    <dc:date>2012-05-21T06:32:24Z</dc:date>
  </entry>
  <entry>
    <title>Error while downloading application/excel mime type</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14024576" />
    <author>
      <name>sraddhanjali Jena</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=14024576</id>
    <updated>2012-05-21T06:05:23Z</updated>
    <published>2012-05-21T06:05:23Z</published>
    <summary type="html">Hello,&lt;br /&gt;I developed a custom portlet for Liferay 6 where Clicking on a link should download an excel file.&lt;br /&gt;I use response.setContentType (&amp;#34;application/excel&amp;#34;).&lt;br /&gt;Below is the code snippet:&lt;br /&gt;&lt;br /&gt;ServletOutputStream outs = null;&lt;br /&gt;File f = new File (&amp;#34;/Users/Sraddhanjali/desktop/sony_bmg.xlsx&amp;#34;);&lt;br /&gt;response.reset();&lt;br /&gt;response.setContentType (&amp;#34;application/excel&amp;#34;);&lt;br /&gt;response.flushBuffer();&lt;br /&gt;outs = response.getOutputStream();&lt;br /&gt;&lt;br /&gt;But I am getting the following error:&lt;br /&gt;&lt;br /&gt;java.lang.IllegalStateException: Cannot obtain OutputStream because Writer is already in use&lt;br /&gt;at com.liferay.portlet.MimeResponseImpl.getPortletOutputStream(MimeResponseImpl.java:67)&lt;br /&gt;at com.liferay.portlet.PortletServletResponse.getOutputStream(PortletServletResponse.java:188)&lt;br /&gt;&lt;br /&gt;Do you have suggestions?&lt;br /&gt;&lt;br /&gt;Thanks in advance,&lt;br /&gt;Sraddha</summary>
    <dc:creator>sraddhanjali Jena</dc:creator>
    <dc:date>2012-05-21T06:05:23Z</dc:date>
  </entry>
</feed>
