如何在导出 excel - Angular 6 中将 kendo 网格中的 FooterTemplate 分隔为 2 行

How to separate the FooterTemplate in kendo grid to 2 rows in export excel - Angular 6

我在 angular 6 项目中有一个网格, 网格中的页脚包含两种类型的数据:自定义总和和自定义平均值 当我说自定义时,我的意思是我们对如何使用网格数据进行计算有自己的逻辑。 this is how the footer looks like

当我导出到 excel 时,页脚导出为 1 行,我想将其分成 2 行。

导出本身工作正常,我只需要将页脚分成 2 行

页脚代码:

  <ng-template kendoGridFooterTemplate let-dataItem let-column let-columnIndex="columnIndex" >
  <div>
    <span *ngIf="columnIndex === 2">{{'average' | translate}}</span>
    <div *ngIf="item.avg">
      <span [ngClass]="getAvg(item.field) > 0 ? 'green' : 'red' ">{{getAvg(item.field) | number: '2.'}}</span>
    </div>
  </div>
  <div>
    <span *ngIf="columnIndex === 2">{{'sum' | translate}}</span>
    <div *ngIf="item.sum">
      <span [ngClass]="getSum(item.field) > 0 ? 'green' : 'red' ">{{getSum(item.field)  | number: '2.'}}</span>
    </div>
</div>
</ng-template>

我已经尝试检查是否可以添加超过 1 个页脚,但我找不到任何相关文档

有人解决:)?

我找到了解决办法, 在 onExcelExport(e: any) 我可以访问 excel sheet 中的单元格并编辑它们 所以我刚刚删除了最后一行 并手动插入我需要的数据 所以代码看起来像这样:

网格设置: <kendo-grid *ngIf="gridData" [data]="gridData" [pageSize]="state.take" [skip]="state.skip" [sort]="state.sort" [filter]="state.filter" filterable="menu" (filterChange)="filterChange($event)" [navigable]="true" (dataStateChange)="dataStateChange($event)" [sortable]="{ allowUnsort: true, mode:'multiple'} " [selectable]="true" (excelExport)="onExcelExport($event)">

函数看起来像这样

  onExcelExport(e: any) {
// delete last row in the excel sheet
   const rows = e.workbook.sheets[0].rows;
   rows.pop();

// push new row by initiate new cell array, looping throw state to get the the right field
   const cellsSum = [];
   const rowsLength = rows[rows.length - 1].cells.length;
   for (let i = 0; i < rowsLength; i++) {
     const field =
       this.employeeColumnService.state.employeeDetailsColumns.find(x => x.title ===   rows[0].cells[i].value.toString()).field;

    cellsSum.push({value: this.getSum(field)});
  }
}
   rows.push({type: "data", cells: cellsSum});