• Ext导出Excel 小问题


       好几天前,我在网上找了有关于js导出Excel 的 demo ,后来找到了一个比较好的例子

    在此之前 我以为把代码丢上去就可以,没想到出现了error:'传给系统参数太小了',我就到网上乱查一顿。

    还是后来自己终于摸索出来了,原来利用Response.ContentType是用来控制输出的文件类型的

    response.setHeader("Content-Type","application/vnd.ms- excel;charset=UTF-8");

    开始的代码是利用Ext 2.0来做库文件所以在IE8中它没判断,而我直接移植过来用了Ext3.0在做库文件,所以出现了'传给系统参数太小了'

    嘿嘿 加上Ext.isIE8就搞定了,而且大家要注意 jsp的字符编码要一致哦!要不然出现乱码的哦!!

    代码:grid2excel

    代码
    var vExportContent = grid.getExcelXml();
    if (Ext.isIE8||Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
    var fd=Ext.get('frmDummy');
    if (!fd) {
    fd
    =Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'frmDummy',action:'exportexcel.jsp', target:'_blank',name:'frmDummy',cls:'x-hidden',cn:[
    {tag:
    'input',name:'fileName',id:'fileName',type:'hidden'},
    {tag:
    'input',name:'exportContent',id:'exportContent',type:'hidden'}
    ]},
    true);
    }
    fd.child(
    '#fileName').set({value:fileName});
    fd.child(
    '#exportContent').set({value:vExportContent});
    fd.dom.submit();
    }
    else {
    document.location
    = 'data:application/vnd.ms-excel;base64,'+Base64.encode(vExportContent);
    }

    PS:这个控件其实也是应付一下简单的grid页面,取的是当前页面的数据,复杂的页面比如有分页、多表头的就不行了,在遇到renderer的时候 取的是store的值不是renderer返回的值。

  • 相关阅读:
    转:Swagger2自动生成接口文档和Mock模拟数据
    InfluxDB
    springboot application.properties文件加载顺序
    maven surefire插件与testng
    spring-boot项目学习路径
    collection 与stream与lambd表达式的结合使用
    转:Java中Lambda表达式的使用
    RPC之Thrift 介绍及java实例
    win10中shift+右键,在此处打开cmd窗口
    激活xmind的方法
  • 原文地址:https://www.cnblogs.com/xiaopen/p/grid2excel.html
Copyright © 2020-2023  润新知