在 Excel C# 中导出 GridView 数据时出现问题 [英] Trouble while Exporting GridView Data in Excel C#
本文介绍了在 Excel C# 中导出 GridView 数据时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 Excel 中导出 gridview 数据时遇到问题.它正在导出整个页面而不是 Gridview 数据.
Having trouble while exporting the gridview data in excel. It is exporting the whole page not Gridview data.
我的代码如下:
Response.Clear();
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.Charset = "";
StringWriter strwritter = new StringWriter();
HtmlTextWriter htmlwritter = new HtmlTextWriter(strwritter);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/ms-excel";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", "DSR"+DateTime.Now.ToString("dd-MM-yyyy")+".xls"));
GridView1.GridLines = GridLines.Both;
GridView1.HeaderStyle.Font.Bold = true;
GridView1.RenderControl(htmlwritter);
Response.Write(strwritter.ToString());
Response.End();
推荐答案
这段代码可能对你有帮助
This code may be help you
protected void btnExportExcel_Click(object sender, EventArgs e)
{
BindData();
GridView1.Visible = true;
string FileName = "Deal Report_(" + DateTime.Now.AddHours(5).ToString("yyyy-MM-dd") + ").xls";
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
"attachment;filename=" + FileName);
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.HeaderRow.Style.Add("color", "#FFFFFF");
GridView1.HeaderRow.Style.Add("background-color", "#1F437D");
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = GridView1.Rows[i];
row.BackColor = System.Drawing.Color.White;
row.Attributes.Add("class", "textmode");
if (i % 2 != 0)
{
for (int j = 0; j < row.Cells.Count; j++)
{
//row.Cells[j].Style.Add("background-color", "#eff3f8");
}
}
}
GridView1.RenderControl(hw);
string style = @"<style> .textmode { mso-number-format:@; } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.End();
GridView1.Visible = false;
}
这篇关于在 Excel C# 中导出 GridView 数据时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文