当我尝试使用函数导出时,我在 Sencha 上收到以下错误。
我的文件中有以下内容:
requires: [
'AppName.view.main.MainController',
'Ext.exporter.text.CSV',
'Ext.grid.plugin.Exporter',
'Ext.ux.grid.SubTable',
'Overrides.exporter.excel.Xlsx',
],
plugins: [{
ptype: 'gridexporter'
}],
我仍然无法导出 XLSX 文件...
错误在于该行: this.getView().saveDocumentAs({
代码
onExportList2: function () {
var filters = '';
var cm = this.getView().headerCt;
if (cm) {
Ext.each(cm.gridDataColumns, function(col, index) {
var field = this.lookup(col.dataIndex + 'FilterField');
if (field && !Ext.isEmpty(field.getValue())) {
if (!Ext.isEmpty(filters)) filters += ', ';
filters += col.text + ': ' + (col.exportRenderer ? col.exportRenderer(field.getValue()) : field.getValue());
}
}, this);
}
this.getView().saveDocumentAs({
type: 'xlsx',
title: 'Account Change',
subtitle1: filters,
fileName: 'Account Change Requests.xlsx'
});
},
将
Overrides.exporter.excel.Xlsx
替换为 Ext.exporter.excel.Xlsx
。
Overrides.exporter.excel.Xlsx
在最好的情况下会改变它的行为。
为什么它崩溃很难说,除非在第
MainController.js
行看到 400
。
到目前为止,我最接近找到答案的是当我对我的应用程序中已经具有此功能的部分进行测试时。我从中删除了以下代码,然后我也开始收到此错误。所以我认为这可能与网格导出器无法工作但尚未解决有关。
"plugins: [{
ptype: 'gridexporter'
}],"
不要忘记将 Exporter 包添加到您的 app.json 的 require 部分。
将需求放入控制器中:
requires: [
'Ext.exporter.text.CSV',
'Ext.exporter.excel.Xlsx'
],
将插件和需求放在您的视图中:
plugins: {
gridexporter: true
},
requires: [
'Ext.grid.plugin.Exporter'
],