OK, got it. Please keep free to contact with me if you need help. 2011/10/20 Neelima <[email protected]>
> I guess I wasn't very clear in my earlier mail. > > From the start of developing our program with Simple ODF API, the rowCount > and columnCount of "Sample.ods" were already taken care as suggested > earlier by you. So, these are not the issue now for more memory. > > I will try the other options suggested in the meantime and will let you > know > the results. > > Thanks, > Neelima > > On Thu, Oct 20, 2011 at 2:20 PM, Neelima <[email protected]> wrote: > > > Hi Devin, > > > > Yes, it was from me and I followed what you have suggested. > > Currently the sample.ods doesn't reach the max rows or max columns when > we > > first load. I just kept the rows and columns to the minimum and i am > > appending whenever needed. To be precise, column count is 4 and rowCount > > differs with each sheet max being 300. > > > > I will try the other options suggested in the meantime and will let you > > know the results. > > > > Thanks, > > Neelima > > > > > > On Thu, Oct 20, 2011 at 1:53 PM, Devin Han <[email protected]> wrote: > > > >> I query the mail archive and get this post: > >> Updating ODS file using ODFDOM version 0.8.7 > >> > >> > http://odftoolkit.org/projects/odfdom/lists/users/archive/2011-07/message/10 > >> > >> It is also from you;) I think you face the same problem this time ;) > >> > >> 2011/10/20 Neelima <[email protected]> > >> > >> > Hi, > >> > > >> > I have used ODF API for writing information into an ODS file. > Following > >> are > >> > the steps: > >> > > >> > 1. Load an ODS document from a location which acts as a template f or > >> > writing information. (Spead across different workSheets) > >> > > >> > *SpreadsheetDocument ods = > >> > SpreadsheetDocument.loadDocument("Sample.ods");* > >> > * > >> > * > >> > 2. Load the record from the database. > >> > 3. Write information of retrieved record from the database across > >> different > >> > spreadsheets. > >> > * //fetch rows and cell* > >> > * cell.setStringValue("value");* > >> > * > >> > * > >> > 4. Append columns/rows when necessary as I progress loading each > record > >> and > >> > write to the ODS file. > >> > * Table sheet = ods.getSheetByIndex(0);* > >> > * sheet.appendColumn();* > >> > * //when I need to append rows* > >> > * sheet.appendRows(2);* > >> > * //when I have to insertRows* > >> > * sheet.insertRowsBefore(8,2);* > >> > > >> > 5. Repeat steps 2-4 until all records are written to the database. At > >> the > >> > end save the document to the desired location > >> > *ods.save("Sample_Output.ods");* > >> > * ods.close();* > >> > * > >> > * > >> > When our program is running and when we calculate memory usage by > object > >> > ods, > >> > for every item its increasing to many folds and finally if we have > >> around > >> > 500 records to be written to the file, it runs to OutOfMemory error > even > >> > with a JVM heap size of 512M. We have a requirement wherein we have to > >> > write > >> > atleast a couple of 1000 records to the file. > >> > Below are some of the readings we have taken for the memory occupied > by > >> ods > >> > object (all in bytes): For 25 items it took almost 19MB of memory. > >> > > >> > *Memory used for item start when template ods file is loaded : 70904* > >> > * > >> > Memory used for item 1 is::6582856 > >> > Memory used for item 2 is::7153712 > >> > Memory used for item 3 is::7693304 > >> > Memory used for item 4 is::8229752 > >> > Memory used for item 5 is::8790632 > >> > Memory used for item 6 is::9330904 > >> > Memory used for item 7 is::9872280 > >> > Memory used for item 8 is::10403760 > >> > Memory used for item 9 is::10926408 > >> > Memory used for item 10 is::11444312 > >> > Memory used for item 11 is::11975584 > >> > Memory used for item 12 is::12569264 > >> > Memory used for item 13 is::13111056 > >> > Memory used for item 14 is::13630656 > >> > Memory used for item 15 is::14162408 > >> > Memory used for item 16 is::14619104 > >> > Memory used for item 17 is::15137664 > >> > Memory used for item 18 is::15655856 > >> > Memory used for item 19 is::16175768 > >> > Memory used for item 20 is::16687440 > >> > Memory used for item 21 is::17192536 > >> > Memory used for item 22 is::17712152 > >> > Memory used for item 23 is::18227080 > >> > Memory used for item 24 is::18867536 > >> > Memory used for item 25 is::19372664 > >> > Memory used for item after all items are written and saved to file: > >> > 19180232 > >> > * > >> > > >> > Please advise if am missing something in the API which needs to be > used. > >> > > >> > Thanks & Regards, > >> > Neelima > >> > > >> > >> > >> > >> -- > >> -Devin > >> > > > > > -- -Devin
