Ignite экспорт пользовательского интерфейса в таблицу Excel с многоколоночным заголовком

Я использую Ignite UI на своем веб-сайте для просмотра таблицы, и мне нужно экспортировать ее в Excel. Я использую стандартную функциональность Infragistricts $.ig.GridExcelExporter.exportGrid, но получаю таблицу только с нижней частью заголовка. У меня многоколоночный заголовок, и я получаю только нижнюю часть. Есть ли способ это исправить?

введите здесь описание изображения


person JNM    schedule 11.04.2016    source источник


Ответы (1)


igGridExcelExporter не обрабатывает заголовки MultiColumnHeaders. Кроме того, сетка экспортируется в область таблицы внутри рабочего листа, что не позволяет объединять ячейки. Это означает, что вы можете имитировать составной заголовок, вставив новую строку и объединив ячейки в событии exportEnding:

exportEnding: function(sender, args) {
    args.worksheet.rows().insert(0, 1); // insert one new row at index 0
    //create a merged cells region that will act as a multi header
    var mergedHeaderRegion = args.worksheet.mergedCellsRegions().add(0,1,0,2); // firstRowIndex, firstColumnIndex, lastRowIndex, lastColumnIndex
    mergedHeaderRegion.value("Month1");

    // style the newly inserted row as a header
    for (var columnIndex = 0; columnIndex < 4; columnIndex++) {
       args.worksheet.rows(0).getCellFormat(columnIndex).fill($.ig.excel.CellFill.createSolidFill("rgb(136, 136, 136)"));
       args.worksheet.rows(0).getCellFormat(columnIndex).font().colorInfo(new $.ig.excel.WorkbookColorInfo("rgb(255, 255, 255)")); }
}

Вы также можете обратиться к следующим разделам справки и документам по API:

http://www.igniteui.com/help/javascript-excel-library-merge-cells

http://help.infragistics.com/jQuery/2015.2/

person Христо Анастасов    schedule 14.04.2016