(一). 运行示例图
1. 待导出数据的GridView图:
2. 生成的Excel文件
(二). 代码
1. 前台页面 GridViewToExcelFile.aspx 代码:
1
<%@PageLanguage="C#"AutoEventWireup="true"
EnableEventValidation="false"CodeFile="GridViewToExcelFile.aspx.cs"Inherits="_Default"%>
2
3
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5
<htmlxmlns="http://www.w3.org/1999/xhtml">
6
<headrunat="server">
7
<title>UntitledPage</title>
8
</head>
9
<body>
10
<formid="form1"runat="server">
11
<div>
12
<asp:GridViewID="gvFoods"runat="server"BackColor="LightGoldenrodYellow"BorderColor="Tan"BorderWidth="1px"CellPadding="2"ForeColor="Black"GridLines="None"EnableViewState="true">
13
<FooterStyleBackColor="Tan"/>
14
<SelectedRowStyleBackColor="DarkSlateBlue"ForeColor="GhostWhite"/>
15
<PagerStyleBackColor="PaleGoldenrod"ForeColor="DarkSlateBlue"HorizontalAlign="Center"/>
16
<HeaderStyleBackColor="Tan"Font-Bold="True"/>
17
<AlternatingRowStyleBackColor="PaleGoldenrod"/>
18
</asp:GridView>
19
<br/>
20
<asp:ButtonID="Button1"runat="server"BackColor="#C0C0FF"OnClick="Button1_Click"
21
Text="CreateExcel"Width="137px"/>
22
</div>
23
</form>
24
</body>
25
</html>
2. 页面后台文件 GridViewToExcelFile.aspx.cs 代码:
1usingSystem;
2usingSystem.Data;
3usingSystem.Configuration;
4usingSystem.Web;
5usingSystem.Web.Security;
6usingSystem.Web.UI;
7usingSystem.Web.UI.WebControls;
8usingSystem.Web.UI.WebControls.WebParts;
9usingSystem.Web.UI.HtmlControls;
10usingSystem.IO;
11usingSystem.Text;
12usingSystem.Collections;
13
14publicpartialclass_Default:System.Web.UI.Page
15{
16protectedvoidPage_Load(objectsender,EventArgse)
17{
18if(!Page.IsPostBack)
19{
20CreateStructure();
21this.gvFoods.DataSource=this.CreateData();
22this.gvFoods.DataBind();
23}
24}
25privateDataTableCreateStructure()
26{
27DataTabledt=newDataTable();
28dt.Columns.Add(newDataColumn("CategoryID",typeof(int)));
29dt.Columns.Add(newDataColumn("CategoryName",typeof(string)));
30dt.Columns.Add(newDataColumn("Price",typeof(int)));
31returndt;
32}
33publicDataSetCreateData()
34{
35DataSetds=newDataSet();
36DataTabledt=this.CreateStructure();
37
38DataRowdrNew=dt.NewRow();
39drNew=dt.NewRow();
40drNew["CategoryID"]=1;
41drNew["CategoryName"]="Apple";
42drNew["Price"]=2;
43dt.Rows.Add(drNew);
44
45drNew=dt.NewRow();
46drNew["CategoryID"]=2;
47drNew["CategoryName"]="Banana";
48drNew["Price"]=3;
49dt.Rows.Add(drNew);
50
51drNew=dt.NewRow();
52drNew["CategoryID"]=3;
53drNew["CategoryName"]="Orange";
54drNew["Price"]=1;
55dt.Rows.Add(drNew);
56
57drNew=dt.NewRow();
58drNew["CategoryID"]=4;
59drNew["CategoryName"]="Radish";
60drNew["Price"]=2;
61dt.Rows.Add(drNew);
62
63drNew=dt.NewRow();
64drNew["CategoryID"]=5;
65drNew["CategoryName"]="Pen";
66drNew["Price"]=3;
67dt.Rows.Add(drNew);
68
69drNew=dt.NewRow();
70drNew["CategoryID"]=6;
71drNew["CategoryName"]="Pencil";
72drNew["Price"]=7;
73dt.Rows.Add(drNew);
74
75drNew=dt.NewRow();
76drNew["CategoryID"]=7;
77drNew["CategoryName"]="Ruler";
78drNew["Price"]=3;
79dt.Rows.Add(drNew);
80
81drNew=dt.NewRow();
82drNew["CategoryID"]=8;
83drNew["CategoryName"]="Eraser";
84drNew["Price"]=5;
85dt.Rows.Add(drNew);
86
87ds.Tables.Add(dt);
88returnds;
89}
90protectedvoidButton1_Click(objectsender,EventArgse)
91{
92StringWritersw=newStringWriter();
93HtmlTextWriterhtw=newHtmlTextWriter(sw);
94this.gvFoods.RenderControl(htw);
95stringstrHtml=sw.ToString().Trim();
96
97stringExcelFileName="FoodList.xls";
98stringFilePhysicialPathName=Request.PhysicalApplicationPath;
99
100//生成的Excel文件名
101stringobjectExcelFileName=Path.Combine(FilePhysicialPathName,ExcelFileName);
102
103if(File.Exists(objectExcelFileName))
104{
105File.Delete(objectExcelFileName);
106}
107FileStreamfs=newFileStream(objectExcelFileName,FileMode.Create);
108BinaryWriterbw=newBinaryWriter(fs,Encoding.GetEncoding("GB18030"));
109bw.Write(strHtml);
110bw.Close();
111fs.Close();
112
113}
114publicoverridevoidVerifyRenderingInServerForm(Controlcontrol)
115{
116//base.VerifyRenderingInServerForm(control);
117}
118}
119
(三). 示例代码下载
http://www.cnblogs.com/Files/ChengKing/GridViewToExcel.rar
分享到:
相关推荐
Asp.net 2.0 GridView数据导出Excel文件.rar
C# 写的一个简单的 ASP.NET 2.0 GridView 的示例,在示例1的基础上又添加了隐藏列和给ButtonField添加提示窗体的示范。
asp.net 导出GridView里的数据到Excel中
本文关键词: TonyPatton TonyPatton GridView ASP.NET ASP.NET ASP.Net Asp.net ASP.NET 2.0
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...
ASP.Net2.0 GridView 多列排序
在ASP.NET 2.0中操作数据:为GridView控件添加Checkboxes列(源码)
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...
深入挖掘ASP.NET 2.0系列课程(11):ASP.NET 中的静态页生成技术
ASP.NET中把Gridview导出为EXCEL,解决中文乱码问题,详情请看视频
附件中包含一个asp.net 2.0读取Excel文件的Demo。流程:首先将客户端的excel文件上传到服务器端,然后返回excel文件的保存路径,最后读取服务器端的excel文件,并在gridview中显示。
Asp.net2.0中GridView、UpdatePanel等使用示例源码.zip
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...
ASP.NET 2.0 - GRIDVIEW
在ASP.NET 2.0中操作数据:在GridView控件中使用TemplateField(源码)
ASP.NET 2.0动态网站开发基础教程(C#)第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#)第04章 ASP.NET2.0常用对象 response request server ...
ASP.NET 2.0动态网站开发基础教程(C#) 第03章 ASP.NET2.0语言程序设计基础 数据类型 控制语句 类和对象(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第04章 ASP.NET2.0常用对象 response request server...