gridview匯出excel(html版)

public static void ToExcel(Control ctl)
        {
            string filename = System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Charset = "UTF-8";
            HttpContext.Current.Response.BufferOutput = false;
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);
           
            HtmlForm form = new HtmlForm();
            form.Controls.Add(ctl);
            Page page = new Page();
            page.Controls.Add(form);
           
            System.IO.StringWriter tw = new System.IO.StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            page.RenderControl(hw);
            string value = tw.ToString();
 
            Regex reg = new Regex(@"<div>([\s\S]*?)</div>", RegexOptions.IgnoreCase);
            value = reg.Replace(value, "", 1, 0);//清除第一個div(viewstate)
 
            HttpContext.Current.Response.Write(
                string.Format(
                "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">{0}</head>"+
                "<body>{1}</body></html>",
                "<style> body{border:0.5pt solid #ccc;font-family:Verdana, Arial, Helvetica, 新細明體;} " +
                "   td { mso-number-format:\\@;  } br {mso-data-placement:same-cell;} "+
                "   .trTitle th{background: #3366CC;color:white;font-weight:normal; }table tr td,th{ font-size: 10pt; }"+
                "</style> ", value));

            HttpContext.Current.Response.End();
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值