FYI - there is a lot on the FOP-user mailing list about this issue. Here is the FAQ portion:
http://xml.apache.org/fop/servlets.html#ie But if you have dynamic content and need to set IE to not cache, I don't think any of these suggestions will work by themselves. Here is our solution as described on the FOP mailing list. http://marc.theaimsgroup.com/?l=fop-user&m=105336061115375&w=2 Hope this helps, Matt > -----Original Message----- > From: Andrew C. Oliver [mailto:[EMAIL PROTECTED] > Sent: Tuesday, July 22, 2003 7:51 AM > To: POI Users List > Subject: Re: IE loads Excel-Sheet twice > > > Right, the problem is that some versions of IE ingore the mime type > entirely. They use the file extension. Which is in this case > ".xls?parameter1=1¶meter2=2" so they need to read part of > the file. > > > If you do > > /path/to/reports/parameter1/value1/parameter2/value2/bla.xls then the > extension will match, it probably won't read the header. > Some folks have > had luck with a fake parameter on the end &myfile.xls in the > first case, but > I never did. > > -Andy > > On 7/22/03 9:28 AM, "Christoph Jaeger" > <[EMAIL PROTECTED]> wrote: > > > Yes, I set the mime type to application/vnd.ms-excel. > Additionally the > > request looks like > > "/path/to/reports/report.xls?parameter1=1¶meter2=2", where > > /path/to/reports/* is mapped to my Excel sheet producing servlet. I > > think I found out that with this combination it works* for IE (which > > seems to ignore the mime-type) AND other browsers (which respect the > > mime-type the servlet specifies). > > > > * "Works" of course with the exception of cases where IE sends two > > requests to load the file. > > > > One more thing I found out: this loading Excel sheets twice problem > > seems to happen less often for request where my servlet > sends the header > > earlier (response.setContentType(...)): > > > > ... > > HSSFWorkBook wb=new HSSFWorkBook(); > > // fill workbook, create lots of rows and cells > > reponse.setContentType("application/vnd.ms-excel"); > > wb.write(response.getOutputStream()); > > ... > > > > produces the problem more often than: > > > > ... > > reponse.setContentType("application/vnd.ms-excel"); > > HSSFWorkBook wb=new HSSFWorkBook(); > > // fill workbook, create lots of rows and cells > > wb.write(response.getOutputStream()); > > ... > > > > Best Regards, > > > > Christoph J�ger > > > >> -----Original Message----- > >> From: Andrew C. Oliver [mailto:[EMAIL PROTECTED] > >> Sent: Tuesday, July 22, 2003 2:59 PM > >> To: POI Users List > >> Subject: Re: IE loads Excel-Sheet twice > >> > >> > >> You are setting the mimetype to application/vnd.ms-excel (or > >> something very > >> close to that...I forget the exact string)? > >> > >> I always found that the different buggy versions of IE worked > >> best when I > >> mapped *.xls to a servlet, used the /folders/as/parameters > >> and passed the > >> mime type. > >> > >> Each release of IE and Office has different strange bugs when > >> used in combo. > >> Its pretty odd that Excel works better with Netscape and Mozilla! > >> > >> -Andy > >> > >> On 7/22/03 2:54 AM, "[EMAIL PROTECTED]" > >> <[EMAIL PROTECTED]> wrote: > >> > >>> > >>> You might well be right - but that only intensifies the mystery : > >>> > >>> - why doesn't it send a 'HEAD' request? (i sniffed the > packets - the > >>> requests are almost identical GETs), and > >>> > >>> - why does it only do that after a bit of time? it > >> certainly doesn't happen > >>> on quick responses! and it doesn't seem to make the second > >> request if a > >>> huge file is sent back straight away, but still does it if > >> a tiny file > >>> takes a while... that's what led me to think it was some > >> sort of a time out > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> [EMAIL PROTECTED] > >>> e.net To: > >>> [EMAIL PROTECTED] > >>> cc: > >>> 22/07/03 03:54 Subject: > RE: IE loads > >>> Excel-Sheet twice > >>> Please respond to > >>> poi-user > >>> > >>> > >>> > >>> > >>> > >>> > >>> You are mis-interpreting the reason for the double > >> download. It has nothing > >>> to do with a timeout. > >>> > >>> The first download is from IE, which examines the header of > >> the file to > >>> determine that the file really contains an Excel spreadsheet. > >>> > >>> The second download is from Excel itself, which may be > >> embedded inside IE > >>> or > >>> launched in a separate window (it depends on registry settings). > >>> > >>> You will not get the double download if you open directly > >> in Excel. (Did > >>> you > >>> know you can go into Excel, choose File | Open from the > >> menu bar, and type > >>> in a URL like > >>> > >> http://nagoya.apache.org/bugzilla/showattachment.cgi?attach_id > >> =2551). In > >>> this situation, the file gets downloaded only one time. > >>> > >>> Here is something that I can't figure out. It should work > >> from the command > >>> line as well. (Open a command window and give the command > >>> > >>> c:\Program Files\Microsoft Office\Office\Excel > >>> > >> > "http://nagoya.apache.org/bugzilla/showattachment.cgi?attach_id=2551" > >>> > >>> This should work but actually downloads an error page. > >> Probably because > >>> Excel actually asks for > >>> > >> "http://nagoya.apache.org/bugzilla/showattachment.cgi?attach_i > >> d=2551.xls" > >>> which Bugzilla does not understand. > >>> > >>> None of this trivia is really very important. But it may > help you to > >>> diagnose problems. One thing to consider - the first > >> download may not > >>> consume the entire output stream. IE closes the first > >> download as soon as > >>> it > >>> determines that the file is valid for Excel. Another thing > >> - IE and Excel > >>> will often ignore whatever you have set for mime type. It > >> determines that > >>> the file is Excel by examining the output stream header. > >> And the last thing > >>> to consider is that you may not always get a double > >> download. For example, > >>> I > >>> gave two methods of opening an .xls over the web (directly > >> from Excel) and > >>> neither will cause the double download. > >>> > >>> -----Original Message----- > >>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > >>> Sent: Monday, July 21, 2003 11:03 AM > >>> To: [EMAIL PROTECTED] > >>> Cc: [EMAIL PROTECTED] > >>> Subject: Re: IE loads Excel-Sheet twice > >>> > >>> > >>> I have indeed seen this behaviour - IE has some internal > >> timeout which it > >>> reaches on longer operations and then 'cleverly' tries to > >> get it again... > >>> > >>> However, there are no simple ways of solving it, i've > >> personally done it in > >>> a completely async way (which might be a bit of an > >> overkill), where browser > >>> polls the page for the export, which performs the export in > >> a threaded > >>> manner, and only attempts to return the big file once it's ready. > >>> > >>> so, simplified: > >>> > >>> 1. > >>> start exporting the file in a thread, get it's id and > >> return that to the > >>> browser with aim to refresh: > >>> i.e > >>> <meta http-equiv="Refresh" content > >>> ="15,url=my_export_generator.jsp?taskId=123"> > >>> > >>> 2. > >>> then in your jsp, just check if your thread's done (maybe > >> saved its details > >>> in some cache), if it is, simply return the content... if > >> not.. go back to > >>> step.1 > >>> > >>> - this way you give ie no chance of making you start the > >> export twice, > >>> (unless it takes a very long time to do step 1) > >>> > >>> ... hope that helps... > >>> > >>> > >>> > >>> > >>> > >>> > >>> [EMAIL PROTECTED] > >>> .com To: > >>> [EMAIL PROTECTED] > >>> cc: > >>> 21/07/03 15:33 Subject: > Re: IE loads > >>> Excel-Sheet twice > >>> Please respond to > >>> poi-user > >>> > >>> > >>> > >>> > >>> > >>> > >>> For some reason IE sends a request twice. It was something > >> I ran into as > >>> well, however, I never ran into an issue where session > >> variables were > >>> unaccessible. So I have no idea what that could be. > >>> > >>> Christoph Jaeger <[EMAIL PROTECTED]> wrote:Hi, > >>> > >>> I apologize if this is a bit off topic, but I thought > >> someone on this > >>> list may have experienced the same problems and found a solution > >>> already. > >>> > >>> I use POI to generate reports from a database. POI is used > >> in a servlet, > >>> which serves the Excel sheet to a web-browser. > >>> > >>> Everything is fine for small sheets (several hundred to a > >> few thousand > >>> rows). The result is just as expected. But when I try to > do a bigger > >>> query (say, 7000 rows) IE behaves strangely: first a > >> request is sent to > >>> the server to generate the Excel file. This file is > >> downloaded (as it > >>> seems), but when the next page comes up in IE, showing > >> Excel, the Excel > >>> program sends a second request to load the sheet. This > >> time, the session > >>> information (included in a cookie) is "forgotten", and so > >> the query does > >>> not work (does only work for logged in users, but without session > >>> information I can not determine the user). > >>> > >>> The same thing works without any problems on my Linux box > >> using Galeon > >>> as a web browser (and Gnumeric or Open Office to view the > >> Excel sheet). > >>> > >>> Has anyone on this list already experienced a similar problem? > >>> > >>> Thanks a lot, > >>> > >>> Best Regards, > >>> > >>> Christoph J�ger > >>> > >>> > >>> > >> > --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> --------------------------------- > >>> Do you Yahoo!? > >>> SBC Yahoo! DSL - Now only $29.95 per month! > >>> > >>> > >>> > >>> > >>> This communication is for informational purposes only. It > >> is not intended > >>> as > >>> an offer or solicitation for the purchase or sale of any financial > >>> instrument > >>> or as an official confirmation of any transaction. All > >> market prices, data > >>> and other information are not warranted as to completeness > >> or accuracy and > >>> are subject to change without notice. Any comments or > >> statements made > >>> herein > >>> do not necessarily reflect those of J.P. Morgan Chase & Co., its > >>> subsidiaries and affiliates. > >>> > >>> > >>> > >> > --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >> > --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> > >>> > >>> > >>> This communication is for informational purposes only. It > >> is not intended as > >>> an offer or solicitation for the purchase or sale of any > >> financial instrument > >>> or as an official confirmation of any transaction. All > >> market prices, data > >>> and other information are not warranted as to completeness > >> or accuracy and > >>> are subject to change without notice. Any comments or > >> statements made herein > >>> do not necessarily reflect those of J.P. Morgan Chase & Co., its > >>> subsidiaries and affiliates. > >>> > >>> > >>> > >> > --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >> > >> -- > >> Andrew C. Oliver > >> http://www.superlinksoftware.com/poi.jsp > >> Custom enhancements and Commercial Implementation for Jakarta POI > >> > > http://jakarta.apache.org/poi > > For Java and Excel, Got POI? > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- > Andrew C. Oliver > http://www.superlinksoftware.com/poi.jsp > Custom enhancements and Commercial Implementation for Jakarta POI > > http://jakarta.apache.org/poi > For Java and Excel, Got POI? > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
