You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@poi.apache.org by Andy Lee <ag...@earthlink.net> on 2003/02/21 07:33:41 UTC
streaming XLS?
I saw one message in the archives that suggested this isn't possible,
but I'll ask anyway...
I'm constructing a large Excel spreadsheet within a servlet. Is it
possible to "stream" the spreadsheet one row at a time, or is my only
option to construct the whole spreadsheet in memory and then do
myWorkbook.write()? I am trying to reduce the memory profile of the
servlet.
I can understand in the general case this might not be possible, for
example if cell values are filled in in some arbitrary order. But in
my case I can make the simplifying assumption that the spreadsheet
will be filled in from top to bottom, left to right. I am wondering
if this simplifying assumption buys me anything, or if the XLS format
is inherently un-streamable.
--Andy
Re: streaming XLS?
Posted by Andy Lee <ag...@earthlink.net>.
At 1:15 PM +0530 2/21/03, Avik Sengupta wrote:
>It is not possible :(
>
>your assumption does not buy you much. The problem is that you need
>upstream pointers to downstream data. So, to stream, you need to
>calculate the exact layout of what you are going to write.. and if you
>need to caculate that ... well... you see where this is going ? :(
I feared as much! Oh, well. I will do the best I can with the
knowledge that the spreadsheet cannot have more than 64K rows.
Thanks for the information.
--Andy
Re: streaming XLS?
Posted by Avik Sengupta <av...@itellix.com>.
It is not possible :(
your assumption does not buy you much. The problem is that you need
upstream pointers to downstream data. So, to stream, you need to
calculate the exact layout of what you are going to write.. and if you
need to caculate that ... well... you see where this is going ? :(
On Fri, 2003-02-21 at 12:03, Andy Lee wrote:
> I saw one message in the archives that suggested this isn't possible,
> but I'll ask anyway...
>
> I'm constructing a large Excel spreadsheet within a servlet. Is it
> possible to "stream" the spreadsheet one row at a time, or is my only
> option to construct the whole spreadsheet in memory and then do
> myWorkbook.write()? I am trying to reduce the memory profile of the
> servlet.
>
> I can understand in the general case this might not be possible, for
> example if cell values are filled in in some arbitrary order. But in
> my case I can make the simplifying assumption that the spreadsheet
> will be filled in from top to bottom, left to right. I am wondering
> if this simplifying assumption buys me anything, or if the XLS format
> is inherently un-streamable.
>
> --Andy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: poi-user-help@jakarta.apache.org
>
Re: streaming XLS?
Posted by "Andrew C. Oliver" <ac...@apache.org>.
http://nagoya.apache.org/wiki/apachewiki.cgi?POIProjectPages
Andy Lee wrote:
> I saw one message in the archives that suggested this isn't possible,
> but I'll ask anyway...
>
> I'm constructing a large Excel spreadsheet within a servlet. Is it
> possible to "stream" the spreadsheet one row at a time, or is my only
> option to construct the whole spreadsheet in memory and then do
> myWorkbook.write()? I am trying to reduce the memory profile of the
> servlet.
>
> I can understand in the general case this might not be possible, for
> example if cell values are filled in in some arbitrary order. But in
> my case I can make the simplifying assumption that the spreadsheet
> will be filled in from top to bottom, left to right. I am wondering
> if this simplifying assumption buys me anything, or if the XLS format
> is inherently un-streamable.
>
> --Andy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: poi-user-help@jakarta.apache.org
>
>