使用多列标题将UI导出到excel表

时间:2016-04-11 07:03:11

标签: excel export-to-excel infragistics ignite-ui

我在我的网站上使用Ignite UI查看表格,我需要将其导出到Excel。我正在使用默认的Infragistricts功能$.ig.GridExcelExporter.exportGrid,但我得到的表只有标题的下半部分。我有多列标题,我只得到下半部分。有办法解决吗?

enter image description here

1 个答案:

答案 0 :(得分:3)

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/