GridView导Excel

1 .  Default.aspx页面代码:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="roomtype_Default" %>

<!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 id="Head1" runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;
        <asp:GridView ID="GridView1" runat="server" AllowPaging="true" OnPageIndexChanging="Paging">
        </asp:GridView>
   
    </div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="导出到Excel" />
    </form>

</body>
</html>

 

 

2. Default.aspx.cs 代码:

using System;
using System.Data;
using System.Configuration;
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.Data.SqlClient;
using System.Xml;


public partial class roomtype_Default : System.Web.UI.Page
{
    /// <summary>
    /// 链接字符串
    /// </summary>
    public string ConnectString
    {
        get
        {
            // 获得连接字符串
            return ConfigurationManager.ConnectionStrings["hotalConn"].ConnectionString;
        }
    }

    /**/
    /// <summary>
    /// 重载VerifyRenderingInServerForm方法
    /// 确认在运行时为指定的 ASP.NET 服务器控件呈现 HtmlForm 控件。
    /// </summary>
    /// <param name="control">ASP.NET 服务器控件,它必须位于 HtmlForm 控件中</param>
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }


    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
           
           //加载数据
            BindData();
        }
    }

    /**/
    /// <summary>
    /// 绑定数据
    /// </summary>
    public void BindData()
    {
        // 查询
        string query = "SELECT * FROM RoomType";
        SqlConnection myConnection = new SqlConnection(ConnectString);
        SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);
        DataSet ds = new DataSet();
        ad.Fill(ds, "RoomType");
        GridView1.DataSource = ds;
        GridView1.DataBind();
    }

    /**/
    /// <summary>
    /// 内存分页
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Paging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        BindData();
    }
    /// <summary>
    /// 导出Excel
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "GB2312";
        Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
        //gaoyang [10/21/2006] 经测试如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。
        Response.ContentEncoding = System.Text.Encoding.UTF7;

        //设置输出文件类型为excel文件。
        Response.ContentType = "application/ms-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();
    }

}

 

 

上边的代码已经试验过了,运行没有问题,开发工具为VS2005

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值