OTH, if the stacktrace suggests the exception originates at the line containing response.setHeader/response.setContentType the problem might be upstream. In both cases the struts users list will be more helpful than poi.
Regards, Tahir Akhtar > -----Original Message----- > From: Tahir Akhtar [mailto:[EMAIL PROTECTED] > Sent: Monday, May 28, 2007 1:07 PM > To: 'POI Users List' > Subject: RE: Excel, Struts and Downloading > > Hi Jon, > I am no struts expert but I think your problem lies in trying to do a > forward after the writing to servlet output stream (through poi). You > should > not try to send a redirect after generating content on a stream. > > I don't know why it was working with older version of struts. Have you > changed your action mappings during the upgrade? > > May be you can get some ideas from here > http://wiki.apache.org/struts/StrutsFileDownload > > Regards, > Tahir Akhtar > > > -----Original Message----- > > From: Jon Wynacht [mailto:[EMAIL PROTECTED] > > Sent: Monday, May 28, 2007 2:57 AM > > To: poi-user@jakarta.apache.org > > Subject: Excel, Struts and Downloading > > > > Hi, > > > > I used to run Struts 1.2.9, POI 2.5 and could generate Excel files > > from a servlet and download them without issue. I recently upgraded > > to Struts 1.3.5 and POI 3 and it looks like I broke that capability. > > I'm getting the following error: > > > > java.lang.IllegalStateException: getOutputStream() has already been > > called for this response > > > > I've searched through the Net and the archives here for info but > > nothing really seems to fit for my situation; it's mostly JSP. > > > > I'm calling an Action servlet which makes a call to the model and > > gets some data, creates a new workbook and then does this: > > > > <snip> > > response.setContentType("application/vnd.ms-excel"); > > response.setHeader("Content-disposition", > > "attachment;filename=\"attendees.xls\""); > > response.addHeader("Content-description", "Event > > Attendees"); > > ServletOutputStream stream = response.getOutputStream > > (); > > wb.write(stream); > > stream.close(); > > ... > > forward = "SUCCESS"; > > ... > > return mapping.findForward(forward); > > </snip> > > > > It's what I did before I upgraded and things worked fine. Now they don't > > > > Any ideas? Am I missing something really obvious or was I bending the > > rules a bit and taking chances with my data in my previous config? > > > > Cheers and thanks, > > > > Jon > > > > Jon Wynacht > > [EMAIL PROTECTED] > > http://www.objectevolution.com > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > Mailing List: http://jakarta.apache.org/site/mail2.html#poi > > The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/ > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > Mailing List: http://jakarta.apache.org/site/mail2.html#poi > The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] Mailing List: http://jakarta.apache.org/site/mail2.html#poi The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/