• asp.net导出数据到word或者excel


       /// <summary>
            /// 自动绑定头部标题和值
            /// </summary>
            /// <returns></returns>
            private NameValueCollection getDataFiledHeader()
            {
                NameValueCollection nv = new NameValueCollection();
                nv.Add("WayPostName", "招聘信息名称");
                nv.Add("PostName", "职位名称");
                nv.Add("DepartmentName", "部门名称");
                nv.Add("JoName", "职位类别");
                nv.Add("JobTag", "职位标签");
                nv.Add("Benefits", "福利待遇");
                nv.Add("WorkYears", "工作经验");
                nv.Add("StartMoney", "最低薪资");
                nv.Add("EndMoney", "最高薪资");
                nv.Add("ScanNum", "浏览数");
                nv.Add("FocusNum", "关注数");
                nv.Add("sendCount", "投递数");
                nv.Add("noscan", "未查看简历数");
                nv.Add("IsUrgency", "是否紧急");
                nv.Add("provinceName", "省份");
                nv.Add("name", "所在市区");
                nv.Add("WayStatus", "招聘状态");
                nv.Add("RefreshTime", "刷新时间");
                nv.Add("CompanyName", "公司名称");
                return nv;
            }

    /// <summary>
            /// 导出招聘信息
            /// </summary>
            /// <param name="ds">要招聘的数据</param>
            /// <param name="fileTitle">文件标题</param>
            /// <param name="fileFormat">导出文件的格式</param>
            public void OutPutWayInfo(DataSet ds, string fileTitle)
            {
                HttpResponse resp;          //Http响应
                resp = Page.Response;       //页面响应
                this.EnableViewState = false;                                       //视图状态
                string colHeaders = "", Is_item = "";                               //头部信息和项信息
                resp.ContentType = "application/ms-excel";                          //导出格式
                resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");  //编码规范
                resp.AddHeader("Content-Disposition", "attachment; filename=" + fileTitle + ".xls");    //导出文件的标题



                DataTable dt = ds.Tables[0];                        //定义表对象与行对象,同时使用DataSet对其值进行初始化
                DataRow[] myRow = dt.Select("");                    //获取到行数据


                NameValueCollection nvFiledAndTitle = getDataFiledHeader();//取得数据表各列标题,标题之间以\t分割,最后一个列标题后加回车符


                //循环出头部标题信息
                foreach (string key in nvFiledAndTitle.Keys)
                {
                    colHeaders += nvFiledAndTitle.Get(key) + "\t";
                }


                colHeaders += "\n";         //换行

                resp.Write(colHeaders);     //输出头部信息


                //循环输出数据
                foreach (DataRow row in myRow)
                {
                    for (var j = 0; j < nvFiledAndTitle.Count; j++)
                    {
                        Is_item += row[nvFiledAndTitle.Keys[j]] + "\t";
                    }

                    Is_item += "\n";            //换行
                    resp.Write(Is_item);        //输出数据
                    Is_item = "";               //清空现有行
                }


                //写缓冲区中的数据到HTTP头文件中
                resp.End();
            }

        /// <summary>
            /// 导出招聘
            /// </summary>
            protected void linkExportWayInfo_Click(object sender, EventArgs e)
            {

                //重新获取数据
                GetAllWayInfo(0);

                //标题
                var wayTitle = (DateTime.Now.Year + "" + DateTime.Now.Month + "" + DateTime.Now.Day + "" + DateTime.Now.Hour + "" + DateTime.Now.Millisecond + "" + "招聘信息列表");

                //导出招聘
                OutPutWayInfo(ds, wayTitle);

            }

  • 相关阅读:
    1-6注册View Prism官网案例学习
    MVVM复习
    Prism常用类库翻译
    SqlHelper
    ADO.NET复习
    C#复习思维导图
    网络通信基础知识1
    网络通信
    Linux-线程同步之互斥锁
    linux-线程同步之信号量
  • 原文地址:https://www.cnblogs.com/Mancy/p/2542082.html
Copyright © 2020-2023  润新知