• excel导出功能第二种方法


      public static void Export(DataTable Dt, string FileName, HttpResponse Response, bool AppendHeader)
            {
                StringBuilder sb = new StringBuilder();
                int countOfColumns = Dt.Columns.Count;
                int countOfRows = Dt.Rows.Count;
                if (AppendHeader)
                {
                    for (int indexOfCl = 0; indexOfCl < countOfColumns - 1; indexOfCl++)
                    {
                        sb.Append(Dt.Columns[indexOfCl] + "\t");
                    }
                    if (countOfColumns > 0)
                    {
                        sb.Append(Dt.Columns[countOfColumns - 1] + "\n");
                    }
                }
                for (int indexOfRow = 0; indexOfRow < countOfRows; indexOfRow++)
                {
                    for (int indexOfCl = 0; indexOfCl < countOfColumns; indexOfCl++)
                    {
                        sb.Append(Dt.Rows[indexOfRow][indexOfCl] + "\t");
                    }
                    sb.Append("\n");
                }
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.ContentType = "application/octet-stream";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(Convert.ToString(FileName), System.Text.Encoding.UTF8));
                Response.Write(sb.ToString());
                Response.Flush();
                Response.End();
            }
    
     var data1 = from f in siteData.已投稿列表
                                    where (BeginTime.Value.Trim() != "" && EndTime.Value.Trim() != "") ?
                                    (f.SubmittedDate >= Convert.ToDateTime(BeginTime.Value.Trim()))
                                    && f.SubmittedDate <= Convert.ToDateTime(EndTime.Value.Trim()).AddDays(1) : 1 == 1
                                    where f.Department == UserDept
                                    group f by f.Department into g
                                    where keyword != "" ? g.Key != null ? g.Key.Contains(keyword) : 3 == 3 : 2 == 2
                                    orderby g.Count() descending
                                    select new
                                    {
                                        类别 = g.Key == null ? "无部门" : g.Key,
                                        文章次数 = g.Count(),
                                        已采纳数 = g.Count(o => o.HandleState == "实际采用")
                                    };
                        if (data1 != null)
                        {
                            DataTable dt = new DataTable();
                            dt.Columns.Add("部门", typeof(string));
                            dt.Columns.Add("投稿数量", typeof(string));
                            dt.Columns.Add("已采纳数", typeof(string));
                            dt.Rows.Add(new object[] { "部门", "投稿数量", "已采纳数" });
                            for (int i = 0; i < data1.Count(); i++)
                            {
                                dt.Rows.Add(new object[] { data1.ElementAt(i).类别, data1.ElementAt(i).文章次数, data1.ElementAt(i).已采纳数 });
    
                            }
                            CoolFuncs.Export(dt, "部门投稿统计.xls", Response, false);
                        }
    
  • 相关阅读:
    HDU 1754线段树基本操作,建树,更新,查询
    用第三方下载工具下载官方XCode独立安装包的方法
    解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题
    Cygwin 版本的 Curl 安装,提取,使用笔记
    Android Gradle 引用本地 AAR 的几种方式
    VM虚拟机快照还原效果实现方式
    插入中文错误ERROR 1406 (22001): Data too long for column 'name' at row 1
    mysql初始化默认为空的密码修改
    性能测试学习计划(转)
    context-param和init-param区别
  • 原文地址:https://www.cnblogs.com/double2012/p/2872649.html
Copyright © 2020-2023  润新知