writing very large .xls file from a cell array

1 view (last 30 days)
Hello, I have a cell array named toatlData of size (367798 21). The array contains text (first column) and numerics (sometimes NaN). Is there a way to write such file? I tries, but I get some internal error as
xlswrite('dataRn.xls',totalData(1:end,1:end), 'Sheet1','A1');
Excel returned: Error: Object returned error code: 0x800A03EC.

Accepted Answer

Jan
Jan on 7 Nov 2011
This problem is explained in: Solution 1-3QJ5I3
I think it is this limitation of Excel:
Worksheet size: 65'536 rows by 256 columns

More Answers (2)

Becky
Becky on 17 Nov 2011
MS Excel 2007 and 2010 do not have the 256 column limit anymore. Does anyone know if Matlab plans to upgrade xlswrite to xlsxwrite to support writing the newer *.xlsx files?

Fangjun Jiang
Fangjun Jiang on 17 Nov 2011
There is a bizarre bug in MS Office that if any of the cell contains more than 911 characters, you'll have that error. I've had this problem many times and I have to develop an alternative writing the data one cell at a time using COM server.
I've verified this bug in Visual Basic, Visual C and reported this bug to MicroSoft long time ago but didn't really received follow up. You can find many others on the web too.
To find out if this is really the cause, you can run
any(any(cellfun(@length, YourCellArray)>911))
  2 Comments
Jan
Jan on 17 Nov 2011
Did I mention already that "cellfun('length', C)" is faster than "cellfun(@length, C)"?
Fangjun Jiang
Fangjun Jiang on 17 Nov 2011
Yah, Yah, Yah! Jan! That's why we need you!

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!