First:新建一个ExcelTest.aspx的窗体
Second:将如下代码考入你的所建窗体的cs文件中
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Data.OleDb;
public partial class ExcelTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.BorderWidth = Unit.Pixel(2);
GridView1.BorderColor = System.Drawing.Color.DarkOrange;
GvBind();
}
}
public static DataTable ExecuteDataTable()
{
string oleconstring = ConfigurationManager.ConnectionStrings["oleconstring"].ConnectionString;
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();
OleDbCommand cmd = new OleDbCommand();
da.SelectCommand = cmd;
using (OleDbConnection con = new OleDbConnection(oleconstring))
{
cmd.Connection = con;
cmd.CommandText = "select * from [pictures]";
try
{
da.Fill(dt);
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{ }
}
return dt;
}
protected void GvBind()
{
this.GridView1.DataSource = ExecuteDataTable();
this.GridView1.DataBind();
}
public override void VerifyRenderingInServerForm(Control control)
{ }
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;
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();
}
}
Third:将如下文件copy 到你的页面aspx文件中
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ExcelTest.aspx.cs" Inherits="ExcelTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Style="position: relative">
<Columns>
<asp:BoundField DataField="picId" HeaderText="Id" />
<asp:BoundField DataField="picTitle" HeaderText="Title" />
<asp:BoundField DataField="picUrl" HeaderText="Path" />
<asp:BoundField DataField="picInstr" HeaderText="Instructions" />
</Columns>
</asp:GridView>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click1" />
</div>
</form>
</body>
</html>
Fourth:为你的gridView设置好数据源