下面我将做一个简单的示例,数据库使用SQL自带的数据库Northwind,完整示例代码如下:(以下代码可直接复制运行测试),希望能对你有所帮助!
在前台页新建一个GridView控件,和一个Button控件,示例代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default7.aspx.cs" Inherits="Default7" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/uploadfile/201101/20/B0171421531.gif" />
![](/uploadfile/201101/20/D4171428479.gif)
using
System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
![](/uploadfile/201101/20/2C171428113.gif)
public partial class Default7 : System.Web.UI.Page
![](/uploadfile/201101/20/67171428706.gif)
{
protected void Page_Load(object sender, EventArgs e)
![](/uploadfile/201101/20/34171428318.gif)
{
if (!Page.IsPostBack)
![](/uploadfile/201101/20/34171428318.gif)
{
BindData();
}
}
private void BindData()
![](/uploadfile/201101/20/34171428318.gif)
{
string ConnectionString = @"Server=(local);database=Northwind;uid=sa;pwd=123456;";
string query = "SELECT * FROM Orders";
SqlConnection myConnection = new SqlConnection(ConnectionString);
SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);
DataSet ds = new DataSet();
ad.Fill(ds, "Orders");
GridView1.DataSource = ds;
GridView1.DataBind();
}
public override void VerifyRenderingInServerForm(Control control)
![](/uploadfile/201101/20/34171428318.gif)
{
// Confirms that an HtmlForm control is rendered for
}
protected void BtnExport_Click(object sender, EventArgs e)
![](/uploadfile/201101/20/34171428318.gif)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Orders.xls");
Response.Charset = "gb2312";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GridView1.AllowPaging = false;
BindData();
GridView1.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
GridView1.AllowPaging = true;
BindData();
}
}