首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp.net 透过 Handler 导出数据至excel (让用户下载)

2013-10-08 
asp.net 通过 Handler 导出数据至excel (让用户下载)效果图:代码:Export2Excel.ashx using Systemusing S

asp.net 通过 Handler 导出数据至excel (让用户下载)

效果图:

asp.net 透过 Handler 导出数据至excel (让用户下载)


代码:

Export2Excel.ashx

 

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.SessionState;using System.IO;using System.Data;namespace BLIC.SecurityCodeValidate.Web.Handler{    /// <summary>    /// AdminLogin 的摘要说明    /// </summary>    public class Export2Excel : IHttpHandler, IRequiresSessionState    {        public void ProcessRequest(HttpContext context)        {            try            {                test1(context);            }            catch (Exception ex)            {            }            //try            //{            //    test1(context);            //}            //catch (Exception ex)            //{            //    //context.Response.ContentType = "text/plain";            //    context.Response.Write("导出失败:" + ex.Message);            //}        }        public bool IsReusable        {            get            {                return false;            }        }        private void test1(HttpContext context)        {            HttpResponse resp = System.Web.HttpContext.Current.Response;            resp.Charset = "utf-8";            resp.Clear();            string filename = "统计贴标报表_" + DateTime.Now.ToString("yyyyMMddHHmmss");            resp.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");            resp.ContentEncoding = System.Text.Encoding.UTF8;            resp.ContentType = "application/ms-excel";            string style = "<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=utf-8\"/>" + "<style> .table{ font: 9pt Tahoma, Verdana; color: #000000; text-align:center;  background-color:#8ECBE8;  }.table td{text-align:center;height:21px;background-color:#EFF6FF;}.table th{ font: 9pt Tahoma, Verdana; color: #000000; font-weight: bold; background-color: #8ECBEA; height:25px;  text-align:center; padding-left:10px;}</style>";            resp.Write(style);             resp.Write("<table class='table'><tr><th>姓名</th><th>出生年月</th><th>籍贯</th><th>毕业时间</th></tr>");                       System.Data.DataTable dtSource = new System.Data.DataTable();            dtSource.TableName = "statistic";            dtSource.Columns.Add("第一列");            dtSource.Columns.Add("第二列");            dtSource.Columns.Add("第三列");            dtSource.Columns.Add("第四列");            System.Data.DataRow row = null;            row = dtSource.NewRow();            row[0] = "张三";            row[1] = "1987-09-09";            row[2] = "河北保定";            row[3] = "2008年毕业";            dtSource.Rows.Add(row);            row = dtSource.NewRow();            row[0] = "李四";            row[1] = "1987-09-02";            row[2] = "湖北武汉";            row[3] = "2009年毕业";            dtSource.Rows.Add(row);            row = dtSource.NewRow();            row[0] = "王五";            row[1] = "1987-09-01";            row[2] = "湖南湘潭";            row[3] = "2013年毕业";            dtSource.Rows.Add(row);            foreach (DataRow tmpRow in dtSource.Rows)            {                resp.Write("<tr><td>" + tmpRow[0] + "</td>");                resp.Write("<td>" + tmpRow[1] + "</td>");                resp.Write("<td>" + tmpRow[2] + "</td>");                resp.Write("<td>" + tmpRow[3] + "</td>");                resp.Write("</tr>");            }            resp.Write("<table>");            resp.Flush();            resp.End();        }      }}


热点排行