ag-grid 导出 excel api getDataAsExcel
ag-grid export excel api getDataAsExcel
我在 angular 6 版本中使用 ag-grid。
我已经向用户提供了用于将农业网格数据导出到 excel 的导出按钮。因此,在单击导出事件时,我有以下代码。
onExport() {
var params = {
fileName: 'Users',
allColumns: true
};
var content = this.gridOptions.api.getDataAsExcel(params);
var workbook = XLSX.read(content, {type: 'binary'});
var xlsxContent = XLSX.write(workbook, {bookType: 'xlsx', type: 'base64'});
this.myService.download(params, xlsxContent);
}
这给了我以下错误。
UserrolesComponent.html:4 ERROR Error: Unrecognized tag: ![CDATA[URId]]|Workbook,false|Worksheet,false|Table,false
at viewWrappedDebugError (core.js:8439)
at callWithDebugContext (core.js:12214)
at Object.debugHandleEvent [as handleEvent] (core.js:11907)
at dispatchEvent (core.js:8561)
at core.js:9005
at HTMLButtonElement.<anonymous> (platform-browser.js:1215)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4053)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
有什么问题?
我删除了下面几行....
var content = this.gridOptions.api.getDataAsExcel(params);
var workbook = XLSX.read(content, {type: 'binary'});
var xlsxContent = XLSX.write(workbook, {bookType: 'xlsx', type: 'base64'});
this.myService.download(params, xlsxContent);
并且只保留...
this.gridOptions.api.exportDataAsExcel(params);
我 运行 在升级到版本 17 时也遇到了这个问题。我能够通过将参数中的 suppressTextAsCDATA
设置为 true 来解决它,同时仍然允许导出到 xlsx。
示例:
var params = {
suppressTextAsCDATA: true
// ...
};
var content = this.gridOptions.api.getDataAsExcel(params);
var workbook = XLSX.read(content, {type: 'binary'});
var xlsxContent = XLSX.write(workbook, {bookType: 'xlsx', type: 'base64'});
this.myService.download(params, xlsxContent);
我在 angular 6 版本中使用 ag-grid。
我已经向用户提供了用于将农业网格数据导出到 excel 的导出按钮。因此,在单击导出事件时,我有以下代码。
onExport() {
var params = {
fileName: 'Users',
allColumns: true
};
var content = this.gridOptions.api.getDataAsExcel(params);
var workbook = XLSX.read(content, {type: 'binary'});
var xlsxContent = XLSX.write(workbook, {bookType: 'xlsx', type: 'base64'});
this.myService.download(params, xlsxContent);
}
这给了我以下错误。
UserrolesComponent.html:4 ERROR Error: Unrecognized tag: ![CDATA[URId]]|Workbook,false|Worksheet,false|Table,false
at viewWrappedDebugError (core.js:8439)
at callWithDebugContext (core.js:12214)
at Object.debugHandleEvent [as handleEvent] (core.js:11907)
at dispatchEvent (core.js:8561)
at core.js:9005
at HTMLButtonElement.<anonymous> (platform-browser.js:1215)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4053)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
有什么问题?
我删除了下面几行....
var content = this.gridOptions.api.getDataAsExcel(params);
var workbook = XLSX.read(content, {type: 'binary'});
var xlsxContent = XLSX.write(workbook, {bookType: 'xlsx', type: 'base64'});
this.myService.download(params, xlsxContent);
并且只保留...
this.gridOptions.api.exportDataAsExcel(params);
我 运行 在升级到版本 17 时也遇到了这个问题。我能够通过将参数中的 suppressTextAsCDATA
设置为 true 来解决它,同时仍然允许导出到 xlsx。
示例:
var params = {
suppressTextAsCDATA: true
// ...
};
var content = this.gridOptions.api.getDataAsExcel(params);
var workbook = XLSX.read(content, {type: 'binary'});
var xlsxContent = XLSX.write(workbook, {bookType: 'xlsx', type: 'base64'});
this.myService.download(params, xlsxContent);