我的gridview数据导出到excel时,发现第一行数据导出不完整,不知道怎么回事,大家帮忙看看。gridview表头代码:第一行跨所有列,其中有从其他控件(textbox和dropdownlist控件),但发现点击导出为excel文件的按钮后,textbox和dropdownlist里的text值就没有了,调试的时候,textbox1.text=""!!这是怎么回事呀?从数据库里导出的数据没问题,可以正常导出为excel。
case DataControlRowType.Header:
//第一行表头
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
//第一行表头中部
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("colspan", "13"); //跨Column
tcHeader[0].Text = TextBox1.Text.ToString() +"—"+TextBox2 .Text.ToString() +DropDownList1 .Text ;
if (DropDownList1.Text.IndexOf("甲") == -1)
{ tcHeader[0].Text += "准确率PC(%)及排名</th></tr><tr>"; }
else { tcHeader[0].Text += "准确率TT(%)及排名</th></tr><tr>"; }
//第二行表头
tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("rowspan", "3"); //跨Row
tcHeader[1].Attributes.Add("bgcolor", "white");
tcHeader[1].Text = "设区市"
tcHeader.Add(new TableHeaderCell());
tcHeader[2].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[2].Attributes.Add("colspan", "2");
tcHeader[2].Text = "0-24";
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[3].Attributes.Add("colspan", "2");
tcHeader[3].Text = "24-48";
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[4].Attributes.Add("colspan", "2");
tcHeader[4].Text = "48-72";
tcHeader.Add(new TableHeaderCell());
tcHeader[5].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[5].Attributes.Add("colspan", "2");
tcHeader[5].Text = "72-96";
tcHeader.Add(new TableHeaderCell());
tcHeader[6].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[6].Attributes.Add("colspan", "2");
tcHeader[6].Text = "96-120";
导出为excel文件的按钮代码是:
protected void Button2_Click(object sender, EventArgs e)
{//本程序的作用是将GridView数据导出为Excel文档
Response.Clear();
Response.Buffer = true ;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
case DataControlRowType.Header:
//第一行表头
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
//第一行表头中部
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("colspan", "13"); //跨Column
tcHeader[0].Text = TextBox1.Text.ToString() +"—"+TextBox2 .Text.ToString() +DropDownList1 .Text ;
if (DropDownList1.Text.IndexOf("甲") == -1)
{ tcHeader[0].Text += "准确率PC(%)及排名</th></tr><tr>"; }
else { tcHeader[0].Text += "准确率TT(%)及排名</th></tr><tr>"; }
//第二行表头
tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("rowspan", "3"); //跨Row
tcHeader[1].Attributes.Add("bgcolor", "white");
tcHeader[1].Text = "设区市"
tcHeader.Add(new TableHeaderCell());
tcHeader[2].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[2].Attributes.Add("colspan", "2");
tcHeader[2].Text = "0-24";
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[3].Attributes.Add("colspan", "2");
tcHeader[3].Text = "24-48";
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[4].Attributes.Add("colspan", "2");
tcHeader[4].Text = "48-72";
tcHeader.Add(new TableHeaderCell());
tcHeader[5].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[5].Attributes.Add("colspan", "2");
tcHeader[5].Text = "72-96";
tcHeader.Add(new TableHeaderCell());
tcHeader[6].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[6].Attributes.Add("colspan", "2");
tcHeader[6].Text = "96-120";
导出为excel文件的按钮代码是:
protected void Button2_Click(object sender, EventArgs e)
{//本程序的作用是将GridView数据导出为Excel文档
Response.Clear();
Response.Buffer = true ;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货