2015-06-01 4 views
0

Я бы спросил, является ли метод, который я занимаю, наиболее оптимальным для создания файла excel из потоков. Я спрашиваю, потому что этот процесс может расти и может вызвать проблемы.Сгенерировать Excel из потока

Это рекурсивный процесс. Сначала запрашивает данные. Создайте поток Создает файл и сохраняет (Azure)

Вот главное, если один пользователь делает новый запрос читает старый файл будет загружен и объединить его с новыми данными, все в потоке данных, конечно, использовать EPPlus, файл может иметь 60 000 строк.

Некоторый код:

//Request Data 
var dta = db.Database.SqlQuery<ListData>(String.Format(...... 

//Generate Container - StreamData can be null or contain old data downloaded 
using (ExcelPackage epck = new ExcelPackage(StreamData)){...} 

foreach (var item in dta){...} 

Функция, которая занимает больше времени, когда создается файл (библиотека создает строку, в то время из моего списка данных, доступ) с помощью библиотеки

Надеюсь, вы можете посоветовать мне улучшить мой процесс или сказать мне какой-то метод, который вам помог.

ответ

0

EPPlus имеет несколько функций (ниже), чтобы загружать все данные за один шаг или циклически для всех записей. Я использовал LoadFromDataTable(), и это быстро, экономит много времени.

LoadFromArrays() 
LoadFromCollection<T>() 
LoadFromDataReader() 
LoadFromDataTable() 
LoadFromText() 

В дополнение к этому, используйте диапазоны для форматирования и других материалов вместо циклов отдельных ячеек.

Смежные вопросы