Sencha Grid Exporter не работает при экспорте в CSV или любой другой тип, кроме xlsx?

Я использую плагин 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)

person aMazing    schedule 16.12.2016    source источник
comment
Не могли бы вы поделиться со мной примером кода для экспорта с помощью раскрывающегося списка @aMazing ??   -  person Coded9    schedule 24.08.2018
comment
Извините @Coded9, у меня нет доступа к коду.   -  person aMazing    schedule 10.09.2018


Ответы (1)


Вам не хватает requires.

Если вы скажете ExtJS использовать type:'csv', он попытается создать экземпляр exporter.csv. Если вы скажете ExtJS использовать type:'excel', он попытается создать экземпляр exporter.excel. Чтобы получить это из файловой системы, вы должны где-то указать полное имя, например. в разделе requires:

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

Заголовок в документах имеет две части: сначала полное имя класса, то есть «Ext.exporter.text.CSV», а затем короткое имя («exporter.csv»). Если вы нигде не указали полное имя, файл не может быть загружен, если только сам фреймворк уже не требует экспортера по полному имени. Чего, судя по сообщению об ошибке, нет.

Справочная информация, прежде чем вы спросите «Почему нет?»: поскольку плагин может работать с любым из десятков экспортеров, и вы не хотели бы загружать все только для создания одного типа экспорта, вам нужно импортировать экспортер вручную.

person Alexander    schedule 17.12.2016
comment
Добавление требует устранить проблему. Однако не могли бы вы уточнить, что вы подразумеваете под импортом экспортера вручную, я не знаю, как это сделать вручную с помощью SA. - person aMazing; 19.12.2016
comment
@aMazing Часть requires делает именно это. - person Alexander; 19.12.2016
comment
Правильно. поэтому в моем случае мне придется добавить в SA требования для всех типов, которые используются в проекте. Также вы знаете, поддерживает ли Exporter PDF? или в любом случае я мог бы сделать его поддержкой pdf - person aMazing; 19.12.2016
comment
где я могу получить контроллер: код grid-exporter, упомянутый в примере с кухонной раковиной? @Alexander - person Coded9; 24.08.2018
comment
@Coded9 Не знаю, возможно, ты захочешь задать этот вопрос Сенче. - person Alexander; 24.08.2018