Hi Blake,

thank you - so I'm not the only one doing such crazy things ;-). With deep 
clone I meant writing the workbook
to some stream and reading it again). And you are right if there would be a 
(not resource intensive) clone I
could you cache one instance and clone it after loading from cache.

Best Regards

Kai

Blake Watson schrieb am 10.05.16 um 22:18:
>>>because the creation of workbook instances is pretty costly (about 200ms
> to 15 seconds for the workbooks we are dealing with) we implemented a
> pooling of workbook instances which seems to work pretty well.<<
> 
> This is what I did, as well.
> 
>>>Since we are only performing limited write-operations on the workbook
> instances (basically only calling Cell.setCellType() and
> Cell.setCellValue()) we need a way of "cloning" the original workbook
> values when retrieving a workbook instance from the pool, remembering them
> and "reseting" the workbook instance when returning it to the pool by
> setting all those remembered values to the workbook instance.<<
> 
> I, too, ran into this situation.
> 
>>>I'm wondering if there is already a functionality like this in poi or if
> somebody already did sth. similar? Otherwhise I'll have to write sth. by my
> own (which shouldn't be too hard) - but I thought that I'll ask anyway.<<
> 
> I don't think there is. In my case, only certain values are settable
> (specifically, named ranges that are not formulae), so I capture those
> values when I load the spreadsheet and "reset" them when I've gotten the
> results I wanted. So it's: set-all-inputs, recalculate as needed,
> retrieve-all-outputs, reset-all-inputs.
> 
>>>Performing a deep clone of the complete workbook is not an option as this
> would make the whole pooling idea pointless.
> 
> Ah, but if you a deep clone feature, you wouldn't need to pool (presuming
> cloning was not as resource intensive as loading a workbook is).
> ​
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to