2016-12-16 45 views
0

我使用的是Sencha Grid Exporter插件,當它導出到Excel時,它工作的很好,我無法將它導出到CSV或任何其他類型從我的應用程序。導出爲CSV或除xlsx以外的任何其他類型的Sencha網格導出器失敗?

它在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) 

回答

0

你缺少一個requires

如果您告訴ExtJS使用type:'csv',它會嘗試實例化exporter.csv。如果你告訴ExtJS使用type:'excel',它會嘗試實例化exporter.excel。要從文件系統中獲得該名稱,必須在某處包含完全限定名稱,例如在requires部分:

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

的標題在docs有兩個部分:一是全限定類名,這是「Ext.exporter.text.CSV」,然後,短名稱(「出口國。 CSV「)。如果您沒有在任何地方提供完整的名稱,則不能加載該文件,除非框架本身已經要求導出者使用全名。根據錯誤消息,它不會。

在你問「爲什麼不是?必須手動導入出口商。

+0

添加需求修復了這個問題。但是,你能澄清你的意思是通過手工導入出口商,我不知道如何手動使用SA。 – aMazing

+0

@aMazing'要求'部分就是這樣做的。 – Alexander

+0

沒錯。所以在我的情況下,我將不得不將所有用於該項目的類型的需求添加到SA中。您是否也從頭開始知道出口商是否支持PDF?或者無論如何,我可以讓它支持PDF – aMazing