Skip to main content

I am trying to get my few MS Excel as a reader and then write them to a new Excel all together however, I got this error that says Excel Writer: xlsx row limit of 1048576 exceeded for New. The first 1048576 features of New will be written to file. Ending translation ?

 

Is there a way around to pass this ?

Hi ​@probert1968 ,

The maximum number or rows limits to 1,048,576 in an Excel sheet, it's a restriction in the Excel specifications, you cannot increase the number.

If the number of features could exceed the upper limit, you will have to divide the features into groups by an appropriate number less than the limit, and write them into separate sheets for each group by Feature Type Fanout mechanism.

A possible way I can think of is:

  1. Counter: Create a new attribute called e.g. "_group_id" storing a sequential number starting from 0.
  2. AttributeManager or ExpressionEvaluator: Update the value of "_group_id" with a math expression @int(@CurrentAttribute() / N). N: the maximum number (< 1,048,576) of features to write into a sheet.
  3. Excel writer feature type: Set the destination sheet name containing the value of "_group_id" - e.g. <a common name>_@Value(_group_id).

As a note, you could write to the csv format which can handle more rows but because this is an Excel limitation you will not be able to view all of the data if you try to open that csv in Excel. Excel should give you a warning but I have seen people make that mistake and then loose the rest of their data after saving a change in Excel. 


Thank you for explaing ​@liamfez 


BTW, I ran CSV and found out it has 2,322,004 rows !