Using writetable for a very large file

17 views (last 30 days)
I have a table with around 1323559 lines which I want to write into a .xlsx file.
When I use:
writetable(T,'blabla.xls');
Error: Error using writetable (line 124)
The data block starting at cell 'A1' exceeds the sheet
boundaries by 1323559 row(s) and 0 column(s)
When I use:
writetable(T,'data.xlsx','Sheet',1,'Range','A1:A1323559');
Error: Error using writetable (line 124)
Range input exceeds bounds for this file extension. Row values must be between 1 and 1048576 and
columns values must be between 'A' and 'XFD'.
How do I fix this so I can print the table to an excel file?

Answers (1)

Walter Roberson
Walter Roberson on 1 Sep 2017
You are asking to write out more rows than are permitted in Excel; the maximum is 2^20, which is 1048576 . If you did somehow manage to write out a .xls or .xlsx file containing all of the rows, then most programs would be unable to read the data.
You should be considering splitting the data into multiple sheets, or using a different file format.
  5 Comments
Judith Orinda
Judith Orinda on 31 Jul 2021
This question solved one of my problems! Thank you
Walter Roberson
Walter Roberson on 31 Jul 2021
Excel cannot read csv files that have more than 2^20 rows.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!