I. Description
When exporting a report with a large amount of data, there may be two situations as follows: first, the export is successful, and the data will be displayed in multiple sheets; second, the export fails, and the exported Excel content is invalid. So why is there such a problem?
II. Large data volume report export without row engine
When the row engine is not enabled, there will be two situations: the export succeeds when the server can afford it, and the export fails when the server cannot afford it. Let's look at the results and the results separately below:
1. Within the scope of the server
The acceptable range is: the amount of data is large, exceeding the maximum number of rows in Excel but not very large, such as 100,000, and the data is not complicated, and it can be exported normally when the memory is sufficient and the network is not interrupted.
Exported result
Data that exceeds the maximum row or column of Excel will be displayed in the next sheet.
Note: Excel has a limit on the number of rows and columns. For example, in Excel 2003, the maximum number of rows is 65536, and the maximum number of columns is 256.
2. Server can't afford
The unbearable range is: the amount of data is large and very large, such as hundreds of thousands of millions or more, and export failure may occur due to memory limitations.
Exported result
Open the Excel that failed to export, its content is invalid.
3. Two reasons for exporting results
It mainly lies in the amount of data and the complexity of the data (number of columns). There will be a critical point when the row engine is not used. When it is below the critical point, the export can be successful, that is, the exported content has multiple sheets. Otherwise, the export fails and the content is invalid.
III. Large data volume report export with row engine enabled
For large data volume reports, row engine is usually used to display. In this case, exporting to Excel is always successful.
1. Exported result
When the large data volume report with the line engine is enabled to export to Excel, it is divided into multiple .xls files and transmitted to the client in the format of a compressed file.
2. Example
Scenario 1: For a large data report such as 100w rows of data, set the row engine, and display 30 rows per page
The export result is: a total of 41 Excels, the first 40 Excels each have 24990 rows, the last Excel has 400 rows, and 41 Excels are compressed into a zip package and sent to the client for download.
Scenario 2: For a large data report such as 100w rows of data, set the row engine to display 50 rows per page
The export result is: a total of 40 Excels, each Excel contains 25,000 pieces of data, and 40 Excels are compressed into a zip package and sent to the client for download.