Sencha Grid Exporter 在导出到 CSV 或 xlsx 以外的任何其他类型时失败?

Sencha Grid Exporter fails when exporting to CSV or any other type other than xlsx?

我正在使用 Sencha Grid Exporter 插件,虽然它在导出到 Excel 时工作得很好,但我无法从我的应用程序导出到 CSV 或任何其他类型。

如 KitchenSink 示例中所列,它工作正常。

KitchenSink Exporter Example

http://docs.sencha.com/extjs/6.2.1/classic/Ext.grid.plugin.Exporter.html

Ext.getCmp('grid').saveDocumentAs({    
         type: 'csv',  // What other possible values can go here
         title: globals.reportName,
         fileName: 'myExport.csv'
});

报错如下:

Uncaught Error: [Ext.createByAlias] Unrecognized alias: exporter.CSV
at Ext.Inventory.instantiateByAlias (app.js?_dc=1481916938387:13520)
at Ext.Factory.create (app.js?_dc=1481916938387:23199)
at constructor.getExporter (app.js?_dc=1481916938387:204593)
at constructor.saveDocumentAs (app.js?_dc=1481916938387:204520)
at constructor.saveDocumentAs (app.js?_dc=1481916938387:5355)
at constructor.onMenuitemClick (app.js?_dc=1481916938387:255332)
at constructor.fire (app.js?_dc=1481916938387:19281)
at constructor.doFireEvent (app.js?_dc=1481916938387:20248)
at constructor.doFireEvent (app.js?_dc=1481916938387:65488)
at constructor.prototype.doFireEvent (app.js?_dc=1481916938387:56438)

您缺少 requires.

如果您告诉 ExtJS 使用 type:'csv',它会尝试实例化 exporter.csv。如果你告诉 ExtJS 使用 type:'excel',它会尝试实例化 exporter.excel。要从文件系统中获取该名称,您必须在某处包含完全限定名称,例如在您的 requires 部分:

requires:[
    'Ext.exporter.text.CSV'
]

docs 中的标题有两部分:首先是完整限定 class 名称,即 "Ext.exporter.text.CSV",然后是短名称 ("exporter.csv") .如果您没有在任何地方提供全名,则无法加载文件,除非框架本身已经要求导出器提供全名。根据错误消息,它没有。

背景信息,在您提问之前 "Why doesn't it?":由于该插件可以与数十种导出器中的任何一种一起使用,并且您不希望只为了创建一种导出类型而全部加载,因此您必须手动导入导出器。