Ignite UI экспорт большого набора данных останавливает страницу

Я использую версию 15.2. Раньше у меня не было проблем с загрузкой небольшого набора данных в Excel. Однако для текущей страницы набор данных немного больше обычного (280 строк x 14 столбцов). Каждый раз, когда я нажимаю кнопку экспорта, страница останавливается (Excel не создается после ожидания мин +). У кого-нибудь был подобный опыт раньше и как его обойти?

Вот фрагмент функции экспорта

$('#exportButton')
        .on({
            click: function() {
                var fileName = getExportFileNameForSingleDate("NAV_Comparison");

                $.ig.GridExcelExporter.exportGrid($("#grid"),
                    {
                        fileName: fileName,
                        tableStyle: 'tableStyleLight13'
                    },
                    {
                        exportStarting: function(e, args) {
                            showExportingIndicator(args.grid, exportingIndicator);
                        },
                        success: function() {
                            hideExportingIndicator(exportingIndicator);
                        }
                    });
            }
        });

function showExportingIndicator(grid, exportingIndicator) {
    exportingIndicator.css({
            "width": grid.outerWidth(),
            "height": grid.outerHeight()
        })
        .html('<span class="exporting-text">Processing...</span>');
    exportingIndicator.addClass("exporting-indicator");

    grid.append(exportingIndicator);
}

function hideExportingIndicator(exportingIndicator) {
    exportingIndicator.remove();
}

person HankBoo    schedule 16.05.2017    source источник
comment
У вас есть какие-то особенности в значениях ваших ячеек? Вот пример (igniteui.com/grid/export-feature-rich-grid) с сеткой из более чем 500 строк и 6 столбцов, и экспорт выполняется довольно быстро.   -  person dkamburov    schedule 17.05.2017
comment
@dkamburov Вы имеете в виду специальные символы? Нет, у меня нет специальных символов, это просто смесь обычного текста и чисел. Вы пробовали что-нибудь успешное с более чем 2000 строками раньше?   -  person HankBoo    schedule 17.05.2017
comment
Вы сказали, что у вас есть набор данных с 280 строками. Я попробую с другими записями. Но если у вас большой набор данных, потребуется больше времени для экспорта, рассматривали ли вы возможность разбиения по страницам и экспорта страниц с полезными данными?   -  person dkamburov    schedule 18.05.2017
comment
Вот пример (jsfiddle.net/dkamburov/8unab211) с более чем 2500 записями. На мой взгляд, он работает нормально.   -  person dkamburov    schedule 18.05.2017
comment
Как я отмечал ранее, виртуализация подкачки и грид - хорошие варианты с точки зрения производительности. Спасибо всем за помощь!   -  person HankBoo    schedule 13.06.2017


Ответы (1)


Вы обновили свой продукт до более новой версии? Поддержка экспорта иерархических данных была представлена ​​в версии 16.1, и это определенно замедлило экспорт, хотя в последних версиях эта проблема с производительностью была решена, и, как вы можете видеть в этом примере (http://jsfiddle.net/8unab211/1/)экспорт 2500 записей x 12 столбцов кажется вполне нормальным. Я могу посмотреть дальше, если вы укажете точную используемую версию и предоставите образец своих данных:

        $.ig.GridExcelExporter.exportGrid($("#grid1"), {
            fileName: "igGrid",
            gridFeatureOptions: {
                paging: "allRows",
            },
        });
person Христо Анастасов    schedule 18.05.2017
comment
Спасибо за комментарий. Я думаю, что разбиение на страницы - определенно хороший способ работы с большим набором данных. Однако недавно я обнаружил, что виртуализация сетки также решает проблему. Я отмечу ваш ответ как решенный. - person HankBoo; 13.06.2017