extjs+Aspose.Cells导出到Excel


1、&=DataSource.Field,&=[DataSource].[Field]是对DataTable和几何类型的引用,将会从当前行开始竖直向下生成多行数据。

2、&=$data:是对变量或数组的引用。数组存在skiphorizontal等属性,具体参见官方网站

3、&=&=动态公式计算;{r}当前行,{c}当前列,{-n},{n}当前行或列的偏移量前n或后n。

4、&==是动态计算,如excel,if等语句。(if(logic_test,true_value,false_value))

 前端extjs代码

   ///导出Excel
            function Export() {
                opt = 'Export';
                if (!Ext.fly('frmDummy')) {
                    var frm = document.createElement('form');
                    frm.id = 'frmDummy';
                    frm.name = id;
                    frm.className = 'x-hidden';
                    document.body.appendChild(frm);
                }
                Ext.Ajax.request({
                    url: 'Renewal.aspx',
                    method: 'POST',
                    form: Ext.fly('frmDummy'),
                    isUpload: true,
                    params: { 'Opt': opt, file: 'FileName', name: escape('墓地到期续费价格单')}//file为excel模板的文件名,name为导出后的excel文件名  
                });


            }

 

 客户端代码:

 /// <summary>
    /// 导出Excel
    /// </summary>
    public void Export()
    {
        string file = Request.Form["file"];
        string name = Server.UrlDecode(Request.Form["name"].ToString());
        string SQL_EXPORT = @"SELECT * FROM FYB_MDDQXF";
        //导出的数据源
        DataSet ds = DBhelper.Query(SQL_EXPORT);

        WorkbookDesigner designer = new WorkbookDesigner();
        //Excel模版路径
        string path = MapPath("Excel/" + file + ".xls");
        designer.Open(path);
        //将数据源加载到文件
        designer.SetDataSource(ds);
        designer.Process();

        //使服务器能够收集有关在客户端运行的浏览器功能的信息
        HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;
        string filename = "";
        //判断当前浏览器是否为IE
        if (bc.Browser == "IE")
            filename = HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8) + ".xls";
        else
            filename = name + ".xls";
        //将Excel文件保存
        designer.Save(filename, SaveType.OpenInExcel, FileFormatType.Default, this.Response);

        Response.Flush();
        Response.Close();
        designer = null;
        Response.End();
    }

接下来是Excel模版的设置了

打开FileName.xls文件,将模版设置城如下格式

刚开始我也琢磨了下,后来才发现模版需要这样设置

posted @ 2014-07-11 10:01  韩梦芫  阅读(369)  评论(0编辑  收藏  举报