本人菜鸟一枚,看了网上很多例子,操作均不够具体,且大都用的是同一个源文件(http://blog.csdn.net/lc448986375/article/details/8205362),想来定是受了原博主的毒害^_^有鉴于此,本人特此做一较为详细的解说,望批评指正,多多交流为善

1.下载并解压文件夹 ExtToExcel.zip 下载地址:Extjs4导出Excel

2.htm显示页面导入export-all.js文件,如:

  1. <scriptsrc="XXX/export-all.js"type="text/javascript"></script>;

3.在要引用的ext.js头部(Ext.OnReady())前面导入如下文字,

  1. Ext.Loader.setConfig({ enabled: true });

  2. Ext.Loader.setPath('Ext.ux.exporter', 'XXX/exporter'); //这里是你的路径,一定要配置正确才可以正常使用

  1. Ext.require([

  2. 'Ext.ux.exporter.Exporter'

  3. ]);

4.到这里才是在你的Grid上添加以下代码

  1. dockedItems: [

  2. {

  3. xtype: 'toolbar',

  4. dock: 'top',

  5. items: [

  6. Ext.create('Ext.ux.exporter.Button', {

  7. component: Ext.getCmp('grid'),

  8. text: "导出 Excel"

  9. })

  10. ]

  11. }

  12. ]

至于后面提到的几点注意(原文如下:

1、dockItems必须在grid上,否则将提示没有is方法

2、如果grid中有checkbox将会导致导出的excel文件中内容和表头错位

3、导出的excel文件不能用poi读取,我是在网上看到的代码,我查了些资料,因为头文件信息的问题,所以如果用poi读取会报错,如果有高人可以修改下,当然,如果只是导出,不需要poi导入的话这个足以满足了

)都没有遇到,我相信大家都按照正确的步骤一步步过来是不会有什么大的问题出现的。

另有以下一项在grid上配置的时候很不稳定,动辄导致导出功能失效,若有必要可注释掉它。(lz项目中较多的用到了grid,只在第一个上可用,后面的皆不可用)

  1. downloadName: '水表年/月-年报',


下载地址:http://down.51cto.com/data/985208