Я искал SO для получения справки по этому вопросу и думаю, что исчерпал все опции.
У меня есть отчет, который генерирует около 320 тыс. Строк, и экспорт в Excel очень медленный.Настолько медленно, что даже после окончания рендеринга (как показано на ExecutionLog3
) файл excel даже не создается.
Я удалил заголовки отчетов, даже для их экспорта был создан экспорт на разные листыменьший файл Excel и нет объединенных ячеекНи один из столбцов не имеет никакого форматирования.Обычные виновники медленного экспорта в Excel, верно?
Вот вывод из ExecutionLog3
TimeStart TimeEnd TimeDataRetrieval_Secs TimeProcessing_Secs TimeRendering_Secs TotalTime_Secs ReportSizeMB RowCount Status Format Source
2019-06-12 09:20:57.310 2019-06-12 09:32:41.313 0.000000 0.047000 703.907000 703.954000 55.596719 0 rsSuccess EXCELOPENXML Session
2019-06-12 09:17:44.433 2019-06-12 09:20:01.220 33.336000 103.222000 0.080000 136.638000 0.502475 323800 rsSuccess RPL Live
Вот вывод из столбца AddionalInfo для EXCELOPENXML
<AdditionalInfo>
<ProcessingEngine>2</ProcessingEngine>
<ScalabilityTime>
<Pagination>0</Pagination>
<Rendering>0</Rendering>
<Processing>0</Processing>
</ScalabilityTime>
<EstimatedMemoryUsageKB>
<Pagination>32831</Pagination>
<Rendering>356162</Rendering>
<Processing>55997</Processing>
</EstimatedMemoryUsageKB>
<Connections />
</AdditionalInfo>
Для сравнения, используя функцию «Получить данные из базы данных SQL» из самого Excel и выполнить тот же SP с теми же параметрами - весь процесс занимает около 72 секунд для загрузки данных и отображения в Excel.
Есть идеи, как улучшить этот экспорт?