怎样将DataGrid导出到Excel中,并在Excel中保留DataGrid中的颜色属性

ColorWhite 2005-05-16 09:50:44
我现在只能实现将DataGrid中的数据导出到Excel中,不能将datagrid中的颜色属性写入到Excel中。

...全文
186 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ColorWhite 2005-05-16
  • 打赏
  • 举报
回复
我开始也是这么作的,但是这样做有个问题,就是Excel中整行都是DataGrid中的颜色,不论该行中的单元格是否有数据。我想要的是给有数据的单元格填充颜色,没有数据的保持空白,有办法解决吗?
czsxj 2005-05-16
  • 打赏
  • 举报
回复
导出到Excel方法:
private void OutExcel(DataGrid dg ,string name,string type)
{ dg.Visible=true;
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition",name);
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = type;
dg.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
dg.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}

调用:
private void ToExcel_Click(object sender, System.EventArgs e)
{
this.OutExcel(DatagridID,"attachment;filename=文件名","application/ms-excel");
}

chsfly 2005-05-16
  • 打赏
  • 举报
回复
直接将DataGrid变成excel文件就可以了.

public void ExportToExcel(System.Web.UI.Control ctl)
{
bool CurrCtlVisible=ctl.Visible;
ctl.Visible=true; Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();

ctl.Page.EnableViewState = true;
ctl.Visible=CurrCtlVisible;
}

110,577

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧