我正在开发一个网页,其中包含多个基于用户输入的Kendo网格组件。我的要求是将所有这些网格导出为excel报告。我为每个网格实现了Kendo-grid excel导出,它按预期工作,但为所有这些动态网格带来一个公共导出按钮,我该如何继续。我使用角度2来实现此功能。我可以为所有这些网格使用公共参考变量吗?请建议。
答案 0 :(得分:1)
请参阅此问题的答案。它将帮助您组合来自多个来源的所有工作表 - Kendo UI for Angular 2: Excel export having multiple worksheets
如果您想自己操作工作表,请参阅此plunker 我写的。它显示了如何添加行(作为标题或数据) - 在撰写本文时,没有记录。
相关守则:
import { Component } from '@angular/core';
import { products } from './products';
@Component({
selector: 'my-app',
template: `
<button type="button" class="k-button" (click)="save(excelexport)">Export To Excel</button>
<kendo-excelexport #excelexport [data]="data" [fileName]=downloadFileName>
<kendo-excelexport-column field="ProductID" title="Product ID" [width]="75">
</kendo-excelexport-column>
<kendo-excelexport-column field="ProductName" title="Product Name">
</kendo-excelexport-column>
<kendo-excelexport-column field="SomeDate" title="Start Date" [cellOptions]="{ format: 'mm/dd/yyyy' }"></kendo-excelexport-column>
</kendo-excelexport>
`
})
export class AppComponent {
public data: any[] = products;
public downloadFileName: string = "Report - Rates.xlsx"
public save(component): void {
const options = component.workbookOptions();
options.sheets[0].name = `Rate Card Report`;
let rows = options.sheets[0].rows;
let infoRows = [
{ cells: [{value: "12345"}], type: 'data', xyz: 1 },
{ cells: [{value: "My stuff LLC"}], type: 'data', xyz: 1 },
{ cells: [{value: "2 Fun Street"}], type: 'data', xyz: 1 },
{ cells: [{value: "Rye, NY - 10580"}], type: 'data', xyz: 1 },
];
Array.prototype.unshift.apply(rows, infoRows);
console.log(rows);
component.save(options);
}
}