异步Excel导出在角KendoUI出口空集

问题描述 投票:1回答:2

我试图让一个异步Excel导出在我们的电网的一个工作,但我一直得到一个空的XSL只集合头文件。

数据正确渲染在网格,过滤和分页。

我试过下面的文档在这里没有成功,这是我实现:

在我component.ts相关部分:

@Input() collection$: Observable<User[]>;

ngOnInit() {
  this.allData = this.allData.bind(this);
}

allData(): Observable<GridDataResult> {
  return this.collection$.pipe(
    map(users => ({ data: users, total: users.length }))
  );
}

我想的第一件事就是直接返回this.collection$;但行为是一样的:Excel的内部空收集文件因此我试着来代替没有成功要么返回一个Observable<GridDataResult>

在我component.html相关部分:

<kendo-grid
  [kendoGridBinding]="collection$ | async"
  pageSize="10"
  [pageable]="true"
  [filterable]="true"
>
  <ng-template kendoGridToolbarTemplate>
    <button type="button" kendoGridExcelCommand icon="file-excel">
      Export to Excel
    </button>
  </ng-template>

  <!-- columns -->

  <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
  <kendo-pager-info></kendo-pager-info>
  <kendo-pager-next-buttons></kendo-pager-next-buttons>
  <kendo-pager-page-sizes [pageSizes]="[5, 10, 40]"></kendo-pager-page-sizes>
  <kendo-grid-excel
    fileName="Users.xlsx"
    [fetchData]="allData"
  ></kendo-grid-excel>
</kendo-grid>

任何人都可以阐明这一些轻?提前致谢。

angular kendo-ui kendo-ui-angular2
2个回答
1
投票

显然,这是因为rxjs版本:

https://github.com/telerik/kendo-angular/issues/1962

删除rxjsrxjs-compat6.2.2固定的问题。

UPDATE

碰碰也6.4.0修复该问题。


0
投票

如果添加了包@progress/kendo-angular-excel-export和修改你的allData()功能:

public allData(): ExcelExportData {
   const result: ExcelExportData = {
       data: this.collection$.pipe(
      map(users => ({ data: users, total: users.length })).data
   };
   return result;
}

这应该工作

© www.soinside.com 2019 - 2024. All rights reserved.