When exporting large reports, using a report virtualizer might not be enough in the case of the Excel exporter. There is one more limitation to be considered here: even if a single page per sheet is set, it's still possible that some pages contain more than 65536 rows (ie. the maximum number of rows allowed to be contained in an Excel sheet). In this case, a RowsExceededException will be thrown, and the report execution will be interrupted.
In order to avoid this, the new MAXIMUM_ROWS_PER_SHEET export parameter was introduced. When set, it specifies a customized number of rows (<= 65535) allowed to be shown in a sheet. If any sheet contains more rows than that number, a new sheet is created for the remaining rows to be displayed. Negative values or zero mean that no limit has been set, and Excel will manage the rows amount by itself.
As an alternative, especially if you need to export multiple reports at a time having different numbers of allowed rows, you can set the PROPERTY_MAXIMUM_ROWS_PER_SHEET property in any of your report templates. If set, this property will take precedence over the export parameter.