ExtJS导出Excel SaveDocumentAs问题

oxf4rvwz  于 9个月前  发布在  其他
关注(0)|答案(3)|浏览(64)

当我尝试使用函数导出时,我在 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'
    });
},
xu3bshqb

xu3bshqb1#

Overrides.exporter.excel.Xlsx替换为Ext.exporter.excel.Xlsx
Overrides.exporter.excel.Xlsx在最好的情况下会改变它的行为。
很难解释为什么会崩溃,除非在400行看到MainController.js

2g32fytz

2g32fytz2#

到目前为止,我最接近找到答案的是当我对我的应用程序的一部分进行测试时,它已经有了这个功能。我删除了下面的代码,然后我也开始得到这个错误。所以我认为这可能与网格导出器不工作有关,但还没有解决方案。

"plugins: [{
                ptype: 'gridexporter'
            }],"
yhived7q

yhived7q3#

不要忘记将Exporter包添加到app.json requires部分。
在你的控制器中输入要求:

requires: [
    'Ext.exporter.text.CSV',
    'Ext.exporter.excel.Xlsx'
],

把插件和要求在您的视图:

plugins: {
    gridexporter: true
},
requires: [
    'Ext.grid.plugin.Exporter'
],

相关问题