首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExtJS5下载Excel文件

ExtJS5下载Excel文件
EN

Stack Overflow用户
提问于 2015-04-03 17:21:49
回答 1查看 58关注 0票数 1

我定义了一个表单,用于提交一个PHP脚本,该脚本将使用PHPExcel创建一个Excel电子表格。

代码语言:javascript
复制
Ext.define('Admin.view.main.LedgerParams',{
    extend: 'Ext.window.Window',
    xtype: 'ledgerparams',
    title: 'Generate Account Ledger',           
    defaultFocus: '[name=period]',  
    layout: 'fit',  
    closable: false,
    resizable: false,
    modal : true,
    standardSubmit: true,
    items: [{
        xtype: 'form',      
        layout: 'fit',
        fieldDefaults: {labelWidth: 80,labelAlign: 'right'},
        padding: 10,
        items: [{           
            xtype: 'fieldset',
            padding: 10,
            title: '<b>Account Ledger Parameters</b>',
            defaultType: 'numberfield',
            defaults: {enforceMaxLength: true},
            items:[{                
                name: 'period',
                flex : 1,
                fieldLabel: 'Fiscal Period',
                selectOnFocus: true,
                value: new Date().getFullYear(),
                minValue: 1980
            }]
        }]
    }],
    buttons:[{
        text: 'Generate',
        handler: 'onClick_btnLedgerPrint'
    },{
        text: 'Cancel',     
        handler: function(){this.up('window').destroy();}
    }]
});

主控制器中的onClick_BtnLedgerPrint方法调用表单提交:

代码语言:javascript
复制
onClick_btnLedgerPrint: function(btn){                
    btn.up('window').down('form').submit({
    url: 'app/data/Reports.php',
        params: {action:'print',reportname:'generate_ledger'} 
    });
}

但是,表单似乎需要来自服务器的JSON响应,而不是启动下载。standardSubmit在ExtJS5坏了吗?任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-07 07:05:56

JavaScript无法启动下载,与Ext相同。只有浏览器才会这样做。

代码语言:javascript
复制
var formValues = btn.up('window').down('form').getForm().getValues();
var params = { action: 'print', reportname: 'generate_ledger' };
var requestParams = Ext.merge(formValues, params);
var url = 'app/data/Reports.php?' + Ext.Object.toQueryString(requestParams);
document.location = url;

或者您可以尝试使用iframe描述的here的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29436839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档