GridView的操作:從GridView匯出資料到Excel
方案一:簡單可行的方法 1protected void WriteExcel_Btn_Click(object sender, EventArgs e)
2{
3HttpContext curContext = System.Web.HttpContext.Current;
4StringWriter strWriter = new StringWriter();
5HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
6//ContentType可以在註冊表中對應的檔案類型中找到
7curContext.Response.ContentType = "application/vnd.ms-excel";
8curContext.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
9curContext.Response.Charset = "GB2312";
10
11GridView GV = new GridView();
12//DT是用於顯示的那個GridView的資料來源
13//也可以寫:GV.DataSource=GridView1.DataSource;
14//GridView1是用於顯示的GridView
15GV.DataSource = DT;
16GV.AllowPaging = false;
17GV.DataBind();
18GV.RenderControl(htmlWriter);
19curContext.Response.Write(strWriter.ToString());
20curContext.Response.End();
21}
這個方案的缺點是,只能向Excel檔案中寫入一個WorkSheet,
並且資料量不能超過65535,
對於小資料量是適合的
補充:給檔案添加名字
curContext.Response.AddHeader("Content-Disposition",
"attachment;filename=" + HttpUtility.UrlEncode("屬性-屬性值對應表.xls"));