jQuery MiniUI

 找回密码
 立即注册
查看: 3811|回复: 4
打印 上一主题 下一主题

datagrid 导出多个页签的EXCEL [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2018-1-30 11:18:37 |只看该作者 |倒序浏览
datagrid  怎么导出多个页签的EXCEL,现在只能导出一个页签。

Rank: 8Rank: 8

沙发
发表于 2018-1-31 09:30:29 |只看该作者
导出excel我们做的只是将表头数据传递到后台,具体导出怎么样的excel是你后台操作专门的类来控制的。

Rank: 2

板凳
发表于 2018-5-24 13:31:20 |只看该作者
felt 发表于 2018-1-31 09:30
导出excel我们做的只是将表头数据传递到后台,具体导出怎么样的excel是你后台操作专门的类来控制的。 ...

public void exportExcel(ArrayList columns, ArrayList data, string dpt_name)
        {
            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "GB2312";
            //Response.Charset = "UTF-8";
            if (dpt_name == null)
            {
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMM") + "库存" + ".xls");
            }
            else
            {
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMM") + dpt_name + "库存" + ".xls");
            }

            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
            Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
            EnableViewState = false;
            Response.Write(exportTable(data, columns));
            Response.End();

        }
        public static ArrayList getColumnsBottom(ArrayList columns)
        {
            ArrayList columnsBottom = new ArrayList();

            for (int i = 0; i < columns.Count; i++)
            {
                Hashtable column = (Hashtable)columns;

                if (column["columns"] != null)
                {
                    ArrayList childColumns = (ArrayList)column["columns"];
                    columnsBottom.AddRange(getColumnsBottom(childColumns));
                }
                else
                {
                    columnsBottom.Add(column);
                }

            }
            return columnsBottom;
        }
        public static ArrayList getColumnsTable(ArrayList columns)
        {
            ArrayList table = new ArrayList();

            getColumnsRows(columns, 0, table);

            createTableSpan(table);

            return table;

        }

Rank: 2

地板
发表于 2018-5-24 13:33:18 |只看该作者
felt 发表于 2018-1-31 09:30
导出excel我们做的只是将表头数据传递到后台,具体导出怎么样的excel是你后台操作专门的类来控制的。 ...

后台是根据你们实例.net版的导出代码一样,现在我有一个需求就是要导出多个页签,请帮忙给个例子,谢谢,急在线等

Rank: 8Rank: 8

5#
发表于 2018-5-24 15:23:16 |只看该作者
lt2017 发表于 2018-5-24 13:33
后台是根据你们实例.net版的导出代码一样,现在我有一个需求就是要导出多个页签,请帮忙给个例子,谢谢, ...

MiniUI只是前端控件,我们的导出只是简单单表格导出。
更复杂的excel导出,请查询excel操作工具类的相关方法。

Archiver|普加软件

GMT+8, 2024-11-25 12:24 , Processed in 1.051845 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部