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);

        }

原文地址:https://www.cnblogs.com/Mancy/p/2542082.html