我使用这段代码来探索excel的网格。我从网上获得了这段代码。
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.DataBind();
GridView1.RenderControl(hw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
当我使用此代码时,网格数据显示在excel中,但没有垂直和水平线。它将gridview列名称显示为链接而不是普通文本。我没有使用任何主题到gridview并且列是自动生成的。一列说col3包含更多的描述,所以当第二行开始时它的数据显示在顶部,仍然是在cell2中显示的描述。所以我想添加垂直和水平线,因此很容易知道哪些数据属于哪个id。我想格式化col 1,也只是数字格式,小数点为零。
1 col1 col2 col3
hjhhjhjhjhjhjhjhjhjhjbbv
gfgfgfuiuiuiuiui
2 9.12E+11 gkjj etwtrtrwqtrtttwwtretqwfe
dear member
gffgf
3 565E+11 hghgh
答案 0 :(得分:0)
在网页加载事件上绑定网格数据,然后尝试再次导出..按照此链接的代码..可能是好的而不是其他...
Exporting GridView Data to Excel
代码段:
private void ExportGridView()
{
string attachment = "attachment; filename=Contacts.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
注意:还发布了一些评论,其中也有一些信息..
要在将数据导出到Excel时根据网格控件格式化GridView,请按照以下链接: ASP.Net 2.0: Export GridView to Excel