xlswrite too large imput

43 views (last 30 days)
Pablo Gomez Gómez Gonzalo
Commented: Yixin on 30 Jul 2023
Hi everybody.
I' trying to save a very large cell matrix (1 393 120 x 15) to a xlsx, but xlswrite returns: 'The specified data range is invalid or too large to write to the specified file format. Try writing to an XLSX file and use Excel A1 notation for the range argument, for example, ‘A1:D4’.' Does anybody knows how could I do this?
Thank you!
PS: my code is xlswrite('C:\Users\***\CompresorCompleto.xlsx',DatosTot.raw); where * are the full path (and it's ok, I check it) and DatosTot.raw is the matrix I want to write
  3 Comments
Walter Roberson
Walter Roberson on 9 Sep 2017
But 1393120 is more rows than is supported by Excel.
Gaurav Kumar
Gaurav Kumar on 20 Apr 2019
Dont forget to put extenstion after name of file
eg if file is xyx then write command as 'xlswrite("xyz.xlsx", data);
Hope it works for you. It worked for me. All the best

Sign in to comment.

Accepted Answer

Eric
Eric on 20 Jun 2017
The maximum number of rows in a single worksheet for newer versions of Excel is 1,048,576 according to https://support.office.com/en-us/article/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3. You're trying to create a worksheet with too many rows.
  3 Comments
pavan balla
pavan balla on 9 Oct 2021
The reason for this error is when you try to save values other than 1x1 dimensions, you will face this error. Try using another method to save your values.
Walter Roberson
Walter Roberson on 10 Oct 2021
The user specifically said they are trying to save a very large cell matrix (1 393 120 x 15) which is over 1 million rows. And since the user specifically named a number over 1 million, then it is highly likely that they were indeed wanting to write over 1 million rows, as opposed to being mistaken about whether that was what they wanted to do.

Sign in to comment.

More Answers (2)

Jan
Jan on 20 Jun 2017
The documentation explains:
Input matrix, specified as a two-dimensional numeric or character array, or, if each cell
contains a single element, a cell array.
Does this match your DatosTot.raw? If so, there must be another problem. Let's ask an internet search engine for the maximum number of cells in an Exel column:
Excel 2007, 2010 and 2013 support 1'048'576 rows (2^20)
This means, that an XLSX file cannot carry 1'393'120 rows.

Seyedali Mirjalili
Seyedali Mirjalili on 28 Jan 2018
I had the same issue and managed to fix it. I was trying to create a file that did not exist in the path. So, I created the file manually and surprisingly the error disappeared. Sounds like magic, but it worked for me every single time.
  1 Comment
Yixin
Yixin on 30 Jul 2023
Thanks a lot!It works on my computer.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!