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
>
>