Экспорт в Excel работает очень медленно

Обсуждение Stimulsoft Reports.JS
angolub
Сообщения: 31
Зарегистрирован: 11 май 2018, 13:51

Экспорт в Excel работает очень медленно

Сообщение angolub »

Здравствуйте,

У нас зарегистрированная версия пакета "stimulsoft-reports-js": "2018.2.3".
При экспорте отчета в Excel метод exportToAsync работает очень медленно.

При настройках экспорта:
let settings = new Stimulsoft.Report.Export.StiExcel2007ExportSettings();
exportToAsync работает несколько минут.

Как только добавляем к настройкам useOnePageHeaderAndFooter:
let settings = new Stimulsoft.Report.Export.StiExcel2007ExportSettings();
settings.useOnePageHeaderAndFooter = true;
exportToAsync работает 1 час кроме того в результирующем файле "разбухают" ячейки по высоте.

Настройка useOnePageHeaderAndFooter нам нужна, т.к. заказчик просит показывать Excel таблицу без биения на страницы.
Подскажите, что можно сделать с настройками, чтобы экспорт работал быстрее?

Код: Выделить всё

let report = new Stimulsoft.Report.StiReport();
        report.load(template);
        
	let settings = new Stimulsoft.Report.Export.StiExcel2007ExportSettings();
        settings.useOnePageHeaderAndFooter = true;
        
        let service = new Stimulsoft.Report.Export.StiExcel2007ExportService();
        let stream;
		
		stream = new Stimulsoft.System.IO.MemoryStream();

        	await new Promise((resolve, reject) => {
	        report.renderAsync(function () {
                    try {
                        service.exportToAsync(function () {
                            try {
                                fs.writeFileSync(fileName, Buffer.from(stream.toArray()));
                                resolve();
                            }
                            catch (err) {
                                reject(err);
                            }
                        }, report, stream, settings);
                    }
                    catch (err) {
			reject(err);
                    }
                }, false);
            });
Вложения
repDiscip_part_00000.xlsx
(1.43 МБ) 34 скачивания
Aleksey
Сообщения: 2420
Зарегистрирован: 22 апр 2010, 02:57

Re: Экспорт в Excel работает очень медленно

Сообщение Aleksey »

Здравствуйте,

Пожалуйста, проверьте последний билд, было множество фиксов и улучшений.

Спасибо.
angolub
Сообщения: 31
Зарегистрирован: 11 май 2018, 13:51

Re: Экспорт в Excel работает очень медленно

Сообщение angolub »

Здравствуйте,

Попробовали на версиях 2018.3.4, 2019.4.2 - результат тот же.
Версия 2020.5.2 не работает на нашей node.

Есть какие-нибудь предложения по решению проблемы?

Спасибо.
Aleksey
Сообщения: 2420
Зарегистрирован: 22 апр 2010, 02:57

Re: Экспорт в Excel работает очень медленно

Сообщение Aleksey »

Здравствуйте,

Вышлите сам отчет с тестовыми данными для анализа.

Спасибо.
angolub
Сообщения: 31
Зарегистрирован: 11 май 2018, 13:51

Re: Экспорт в Excel работает очень медленно

Сообщение angolub »

Здравствуйте,

Обновились до версии 2021.3.7
У нас те же проблемы с производительстью в Excel.

Во вложении json на 6800 строк и mrt файл.

Спасибо.
Вложения
Report_EL.mrt
(23.02 КБ) 25 скачиваний
event-log_test_2.json
(6.61 МБ) 21 скачивание
Aleksey
Сообщения: 2420
Зарегистрирован: 22 апр 2010, 02:57

Re: Экспорт в Excel работает очень медленно

Сообщение Aleksey »

Здравствуйте,

Необходимо некоторое время для анализа проблемы. О результатах ддим знать.

Спасибо.
#5005
Ivan
Сообщения: 636
Зарегистрирован: 10 авг 2006, 01:40

Re: Экспорт в Excel работает очень медленно

Сообщение Ivan »

Здравствуйте.

Спасибо за присланный пример отчёта. Мы обнаружили проблему.
Как оказалось, из-за особенностей работы массивов на JS алгоритм фильтрации строк ужасно медленно работает на больших массивах данных.
После оптимизации скорость увеличилась в десятки раз.
Патч будет включён в следующий билд.

Также мы проанализировали ваш шаблон.
Можно немного подправить его, и скорость работы экспорта увеличится ещё почти в два раза, за счёт гораздо меньшего количества строк и столбцов.
Подправленный шаблон отчёта прилагаем.

Более подробно про это вы можете почитать в статье в нашей документации:
https://www.stimulsoft.com/ru/documenta ... export.htm

Спасибо.
Вложения
Report_EL_modified.mrt
(382.17 КБ) 18 скачиваний
angolub
Сообщения: 31
Зарегистрирован: 11 май 2018, 13:51

Re: Экспорт в Excel работает очень медленно

Сообщение angolub »

Здравствуйте,

Спасибо за работу.
Будем ждать новый билд.
Aleksey
Сообщения: 2420
Зарегистрирован: 22 апр 2010, 02:57

Re: Экспорт в Excel работает очень медленно

Сообщение Aleksey »

Здравствуйте,

Пожалуйста.
Билд будет на этой неделе.
angolub
Сообщения: 31
Зарегистрирован: 11 май 2018, 13:51

Re: Экспорт в Excel работает очень медленно

Сообщение angolub »

Здравствуйте,

Версия 2021.4.1 работает значительно быстрее.
Спасибо.

Но мы столкнулись с другой проблемой.
Мы используем Stimulsoft в Angular пиложении.

Делали по примеру
https://github.com/stimulsoft/Samples-J ... 20designer

Версия 2021.3.7 работает.
С новой версией у нас перестал собираться фронт. Валится в ошибку

ERROR in ./node_modules/stimulsoft-reports-js/Scripts/stimulsoft.reports.js
Module not found: Error: Can't resolve 'fs' in 'C:\Project\psim\core\node_modules\stimulsoft-reports-js\Scripts'
resolve 'fs' in 'C:\Project\psim\core\node_modules\stimulsoft-reports-js\Scripts'
Parsed request is a module
using description file: C:\Project\psim\core\node_modules\stimulsoft-reports-js\package.json (relative path: ./Scripts)
Field 'browser' doesn't contain a valid alias configuration ...


Наш package.json включает
"browser": {
"fs": false
}
Но это не помогает.

Подскажите, как можно исправить ошибку фронта?
Спасибо.
Ответить