【发布时间】:2017-10-23 13:34:15
【问题描述】:
我正在尝试实现具有多个工作表的 excel 导出。我无法在剑道页面本身上获得解决方案(示例)。在 API 文档中,我发现了访问工作簿选项的可能性。
如何创建具有 2 个或更多工作表的 Excel?
目前我正在尝试使用剑道页面中的一个简单示例:https://www.telerik.com/kendo-angular-ui/components/excelexport/
【问题讨论】:
我正在尝试实现具有多个工作表的 excel 导出。我无法在剑道页面本身上获得解决方案(示例)。在 API 文档中,我发现了访问工作簿选项的可能性。
如何创建具有 2 个或更多工作表的 Excel?
目前我正在尝试使用剑道页面中的一个简单示例:https://www.telerik.com/kendo-angular-ui/components/excelexport/
【问题讨论】:
使用 Kendo Demo 中提供的示例,您可以为每个工作表创建一个 ExcelExportComponent 实例并将它们合并到一个文件中,如下所示(参见Plunker 中的代码):
import { Component } from '@angular/core';
import { products } from './products';
@Component({
selector: 'my-app',
template: `
<button type="button" class="k-button" (click)="doExcelExport([excelexport1,excelexport2])">Export To Excel</button>
<kendo-excelexport [data]="data" fileName="Prod1.xlsx" #excelexport1>
<kendo-excelexport-column field="ProductID" title="Product ID">
</kendo-excelexport-column>
<kendo-excelexport-column field="ProductName" title="Product Name">
</kendo-excelexport-column>
</kendo-excelexport>
<kendo-excelexport [data]="data" fileName="Prod2.xlsx" #excelexport2>
<kendo-excelexport-column field="ProductID" title="Product ID">
</kendo-excelexport-column>
<kendo-excelexport-column field="ProductName" title="Product Name">
</kendo-excelexport-column>
</kendo-excelexport>
`
})
export class AppComponent {
public data: any[] = products;
public doExcelExport(components: ExcelExportComponent[]): void {
var options = components[0].workbookOptions();
if (components.length > 1){
for (var x = 1; x < components.length; x++) {
options.sheets[x] = components[x].workbookOptions().sheets[0];
}
}
components[0].save(options);
}
}
【讨论】: