Save of huge workbook/worksheet yields MemoryError
Created originally on Bitbucket by walkerjim
I have a write-only workbook with two sheets. The first one is huge, with 2201 columns and 6630 rows. The second sheet is small enough not to be an issue.
Filling the workbook works fine; it all fits. Then I want to save it. I traced it down to the statement "out = src.read()" in method _write() on line 254 in write_only.py. Apparently it wants to slurp each worksheet's whole xml file in one go -- over 400Mb in my case -- and it crashes out with a BEX in the vc++ DLL. My suggestion would be for _write to deliver the file handle instead of the entire, read-out string to the caller. I know that at some point the ZipFile is going to make the xml data a LOT smaller, so that so much memory will not be needed at once. However, I don't know enough about the library to recognize all the implications of just passing the file handle back up the call stack.