1

Sencha Grid Exporter プラグインを使用していますが、Excel にエクスポートすると問題なく動作しますが、アプリから CSV やその他のタイプにエクスポートすることはできません。

KitchenSink の例に記載されているように、正常に動作します。

KitchenSink エクスポーターの例

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)
4

1 に答える 1

0

がありませんrequires

ExtJS に を使用するように指示type:'csv'すると、インスタンス化が試みられますexporter.csv。ExtJS に を使用するように指示type:'excel'すると、インスタンス化が試みられますexporter.excel。ファイルシステムからそれを取得するには、完全修飾名をどこかに含める必要があります。たとえば、requiresセクションに:

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

ドキュメントの見出しには 2 つの部分があります。最初に完全修飾クラス名 (「Ext.exporter.text.CSV」)、次に短い名前 (「exporter.csv」) です。完全な名前をどこにも指定していない場合、フレームワーク自体が既に完全な名前でエクスポーターを必要としない限り、ファイルをロードできません。エラーメッセージによると、そうではありません。

「なぜそうしないのですか?」と尋ねる前に、背景情報: プラグインは何十ものエクスポーターのいずれでも動作するため、1 つのタイプのエクスポートを作成するためだけにすべてをロードすることは望ましくないため、エクスポーターを手動で。

于 2016-12-17T06:52:03.360 に答える