• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    ExtJS4 动态生成的grid导出为excel示例

    发布者: 晋3555 | 发布时间: 2025-8-13 19:58| 查看数: 18| 评论数: 0|帖子模式

    搜索了蛮久,找到一些例子,因为我是初学者的缘故大多不知道怎么使用。。

    研究了一下那个源码,搞到现在终于实现了基本的下载。解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG

    下面记录一下步骤。说不定下次还有用

    1.下载需要用到js代码,我已经上传

    2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径

    <script type="text/javascript" src="../export/export-all.js" ></script>;

    3.在你要用到的JS代码的Ext.onReady()的开始加上

    Ext.Loader.setConfig({ enabled: true });
    Ext.Loader.setPath('Ext.ux.exporter', '../export/exporter');
    Ext.require([
    'Ext.ux.exporter.Exporter'
    ]);

    设置命名空间。。注意路径

    4.在代码里面使用,在你需要下载功能的grid处合适的地方加入

    xtype: 'exporterbutton',
    // store: store
    component: Ext.getCmp('gird_a')

    这是两种初始化excel的方式,一种用store初始化,使用store的fields和data,因为我的store中的fields名字是英文,导出来的列名是英文所以我没有使用这种,而是直接用grid进行初始化。

    下面说下在别人的代码基础上我修改的地方

    1.在exporter.js第40行,改成了

    var columns = Ext.Array.filter(grid.columnManager.columns,

    原来的代码在第一个参数那里是grid.columns,后来我发现动态生成的grid在reconfigure之后columns放在columnManager.columns里,所以这么改


    2.在workbook.js中77.78行,加了两句话

    this.styles=[];
    this.worksheets=[];

    以上2行代码进行一些初始化,否则excel每次生成因为没有清空之前的数据导致格式错误

    经过以上的简单修改已经可以对一个grid随意导出,并且支持对定制字段的表格导出,即导出表格显示的列

    效果图在这里:


    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表