xlswrite output size limit
Show older comments
Good afternoon, MATLAB community. This is an obscure question, but does anyone know what the maximum file size that can be written to Excel using xlswrite?
I have a 14183x2416 cell array (has to be a cell array since there are a combination of characters and numbers), and when I 'whos' the variable name, I find it to be 4.1 GB. I've poured through all the literature I could find regarding writing to Excel from MATLAB, but everything I see talks about the actual cell/matrix size limitation, and from what I can tell, mine is well below that limit. The error I get is:
Error: Not enough storage is available to complete this operation.
I'm using a fairly high-end computer, so I can't imagine it's a hardware issue. To investigate the issue further, I chopped off about 1400 columns and the resulting cell was about 1.7 GB, which wrote to Excel with ease. At this point, the only thing I can think of is to break the big file up into two (or more) smaller files, but there's a way to keep everything in one Excel file, that would be the desired outcome.
The Excel version I'm using is 2010 (corrected; used to say 2016) and the MATLAB version is 2016b if that helps.
Thanks for your time!
10 Comments
Guillaume
on 18 Jul 2018
Can we have the complete error message? Everything in read. It is important to know if the error is issued by matlab or by excel.
Jeremy
on 18 Jul 2018
Albert Fan
on 18 Jul 2018
It might be a stupid comment but have you checked is there enough space on the disk that you are trying to save the excel to?
OCDER
on 18 Jul 2018
Which version of Office did you install? By default, it's 32-bit.
If so, then you're capped at 2GB.
Jeremy
on 18 Jul 2018
Albert Fan
on 18 Jul 2018
How much memory do you have in total? This problem sounds like a problem that, at some point, either the memory or the disk is running out. Given the fact that you have 522GB of HD space available, I could hardly imagine that running out of disk space is the case.
While I'm not sure what is really causing the problem, and based on the fact that you are trying to save a really large there might be a good workaround that you first save the big matrix using a for loop to loop into each rows of it and save it row by row to a csv file, and then open it in excel (which may takes a long time), and then save it as a excel file.
Fangjun Jiang
on 18 Jul 2018
what is your MATLAB and Excel version?
Harsh
on 18 Jul 2018
Additionally, looks like the error is coming from Excel when it does not have enough memory. Assuming that you have a large enough memory to handle 4GB+ file sizes, check the task manager for memory usage and close any other programs / applications.
Walter Roberson
on 18 Jul 2018
Edited: Walter Roberson
on 18 Jul 2018
I would interpret that is "disk full".
Answers (1)
Jeremy
on 18 Jul 2018
0 votes
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!