DataGrid导出excel怎么设置表头样式?
后台设置样式。
我导出代码如下:
- C# code
DataTable dt = bll.GetPeopleData(); DataGrid dgExport = new DataGrid(); dgExport.DataSource = dt; dgExport.DataBind(); dgExport.AllowPaging = false; //想给表头设置背景色,怎么设置 ,下面这句代码不好用,将整个行都变了 dgExport.HeaderStyle.BackColor = Color.Red; string FileType = "application/ms-excel"; string FileName = "record.xls"; Response.Charset = "big5"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString()); Response.ContentType = FileType; this.EnableViewState = false; StringWriter tw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(tw); dgExport.RenderControl(hw); Response.Write(tw.ToString()); Response.End();我需要的效果如下
但是dgExport.HeaderStyle.BackColor = Color.Red; 这句代码的效果如图
[解决办法]
rowHeader.BackColor = System.Drawing.ColorTranslator.FromHtml(HeaderBackColor);
[解决办法]
那你可以先定义好一个模板,然后在模板的基础上添加数据,最后SaveAs就可以了,我都是这么搞的,用代码定义样式有点脑乱
[解决办法]
你用的这种方式是流的性质 直接Response写出,控制样式比较扎手