Показать сообщение отдельно
Старый 13.12.2020, 16:00   #42  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Сколько памяти при этом отъедает АОС аксапты в течении этих 10 минут ?

У меня была подобная задача. Выгрузить пару-тройку сотен тысяч строк из БД в файл excel в указанную пользователем сетевую папку.
С отягчающими обстоятельствами - пользователи могли в пакетный режим отправить сразу несколько подобных отчётов. При использовании вывода данных через DocumentFormat.OpenXML оперативная память на сервере быстро заканчивалась.

Красивая шапка в отчёте была не нужна, поэтому я использовал промежуточный файл CSV.
Файл в памяти не держится, заполняется через System.IO.File::AppendAllText. Накапливается несколько мегабайт данных, записывается в файл и так в цикле.
Потом файл открывается с помощью Microsoft.Office.Interop.Excel, устанавливаются форматы данных в столбцах и происходит сохранение в xlsx. Память сильно расходуется только в этот момент.
__________________
Дмитрий