日期:2014-05-16  浏览次数:20675 次

ext.net GridPanel 导出 EXCEL 如何自定义显示列数,自定义表头样式
没有使用EXCEL模版
没有使用EXCEL插件
没有使用微软的DLL
如何实现GridPanel导出EXCEL,文档中显示自定义的列和自定义表头样式
我参照的是官网的例子
http://examples1.ext.net/#/GridPanel/Miscellaneous/Export_Data_Ajax/
 不太了解.xsl 是不是可以通过Excel.xsl来控制导出EXCEL文档的样式
新手求指导。 

------解决方案--------------------
他的内容就是文本格式的,你下载他的xls文件来下看下格式,你按照他的格式生成那些内容,设置Content-Disposition响应头就能保存为xls文件了

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=\"xxxx.xls\"");
Response.Write("生成的内容字符串");

------解决方案--------------------
有个插件在IE下可以,但是chrome\firefox不行
/*
 *功能:直接由Ext的grid生成Excel
 *注意: 只支持IE
 *参数:param1: gridId
 *      param2: sheetName
 */
Ext.downExcel= function(config){
   //Ext.Excel.superclass.constructor.call(this, config);
   Ext.apply(this,config);
};
Ext.apply(Ext.downExcel.prototype,{
         extGridToExcel : function(){
           if (!Ext.isIE) {
             Ext.Msg.alert('Error','你的浏览器不支持!');
             return;
           }
           try{
                    if(Ext.getCmp(this.gridId)){
                        /********************************************* grid 生成 Excel ***************************************/
                        var oXL = new ActiveXObject("Excel.Application");
                        var oWB = oXL.Workbooks.Add();
                        var oSheet = oWB.ActiveSheet;

                        var grid = Ext.getCmp(this.gridId);
               &n