方案一:简单可行的方法
1
protected void WriteExcel_Btn_Click(object sender, EventArgs e)
2
{
3
HttpContext curContext = System.Web.HttpContext.Current;
4
StringWriter strWriter = new StringWriter();
5
HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
6
//ContentType可以在注册表中对应的文件类型中找到
curContext.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
9
curContext.Response.Charset = "GB2312";
10![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
GridView GV = new GridView();
12
//DT是用于显示的那个GridView的数据源
13
//也可以写:GV.DataSource=GridView1.DataSource;
14
//GridView1是用于显示的GridView
15
GV.DataSource = DT;
16
GV.AllowPaging = false;
17
GV.DataBind();
18
GV.RenderControl(htmlWriter);
19
curContext.Response.Write(strWriter.ToString());
20
curContext.Response.End();
21
}
这个方案的缺点是,只能向Excel文件中写入一个WorkSheet,![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7curContext.Response.ContentType = "application/vnd.ms-excel";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
并且数据量不能超过65535,
对于小数据量是适合的
补充:给文件添加名字
curContext.Response.AddHeader("Content-Disposition",
"attachment;filename=" + HttpUtility.UrlEncode("属性-属性值对应表.xls"));
"attachment;filename=" + HttpUtility.UrlEncode("属性-属性值对应表.xls"));