asp.net实现Gradview绑定数据库数据并导出Excel的方法

实现Gradview绑定数据库数据并导出Excel的方法,可以分为以下几个步骤:

步骤一:创建ASP.NET Web应用程序

在Visual Studio中新建一个Web Application项目,选择ASP.NET Web应用程序模板,设置名称和位置,并点击创建按钮。

步骤二:创建数据库及表

  1. 在SQL Server中新建一个数据库,设置名称和位置,并点击创建按钮。
  2. 在数据库中新建一个数据表,设置名称和表结构,如下所示:
CREATE TABLE [dbo].[Student](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NOT NULL,
    [Gender] [nvarchar](10) NOT NULL,
    [Age] [int] NOT NULL,
    [Score] [int] NOT NULL,
    PRIMARY KEY CLUSTERED 
    (
        [Id] ASC
    )
);

步骤三:编写ASP.NET页面代码

  1. 在Default.aspx页面中,添加一个GridView控件和一个Button控件,代码如下所示:
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
<asp:Button ID="btnExport" runat="server" Text="导出Excel" OnClick="btnExport_Click" />
  1. 在Default.aspx.cs页面中,编写代码实现GridView绑定数据库数据和Excel导出功能,代码如下所示:
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGridView();
        }
    }

    private void BindGridView()
    {
        string connString = "Data Source=.;Initial Catalog=TestDB;Integrated Security=True";
        string query = "SELECT * FROM Student";
        using (SqlConnection conn = new SqlConnection(connString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(query, conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
    }

    protected void btnExport_Click(object sender, EventArgs e)
    {
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "StudentData.xls"));
        Response.ContentType = "application/ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        GridView1.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }

    public override void VerifyRenderingInServerForm(Control control)
    {
        /* 空实现,用于解决“控件必须放在具有 runat=server 的表单标记内”的异常 */
    }
}

步骤四:测试应用程序

  1. 在Visual Studio中启动调试模式,或发布到IIS中后进行访问。
  2. 点击“导出Excel”按钮,测试Excel导出功能。

示例一:

以下示例演示如何在ASP.NET页面中使用GridView控件展示数据库中的数据。

<asp:GridView ID="GridView1" runat="server"></asp:GridView>
private void BindGridView()
{
    string connString = "Data Source=.;Initial Catalog=TestDB;Integrated Security=True";
    string query = "SELECT * FROM Student";
    using (SqlConnection conn = new SqlConnection(connString))
    {
        conn.Open();
        SqlCommand cmd = new SqlCommand(query, conn);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}

示例二:

以下示例演示如何在ASP.NET页面中使用Response对象将GridView数据导出为Excel文件。

<asp:Button ID="btnExport" runat="server" Text="导出Excel" OnClick="btnExport_Click" />
protected void btnExport_Click(object sender, EventArgs e)
{
    Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "StudentData.xls"));
    Response.ContentType = "application/ms-excel";
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    GridView1.RenderControl(htw);
    Response.Write(sw.ToString());
    Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
    /* 空实现,用于解决“控件必须放在具有 runat=server 的表单标记内”的异常 */
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net实现Gradview绑定数据库数据并导出Excel的方法 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • jQuery调用RESTful WCF示例代码(GET方法/POST方法)

    jQuery调用RESTful WCF示例代码(GET方法/POST方法) RESTful WCF服务是一种用于构建分布式应用程序的技术。在Web应用程序中,我们可以使用jQuery调用RESTful WCF服务来实现与服务器的通信。本文将详细讲解如何使用jQuery调用RESTful WCF服务,并提供两个示例。 1. 创建RESTful WCF服务 以下…

    C# 2023年5月15日
    00
  • 使用C#中的Flags特性

    使用C#中的Flags特性,可以为枚举类型的每个成员指定一个位掩码,以便组合多个成员的标志值。在本文中,我们将讲解如何使用Flags特性,并给出两个示例来说明其用法。 何时使用Flags特性 在需要对枚举类型中的多个成员使用二进制标志值时,就可以考虑使用Flags特性来解决。通过使用Flags特性,可以将多个成员的二进制标志值组合在一起,快速判断多个标志是否…

    C# 2023年6月3日
    00
  • C#操作EXCEL DataTable转换的实例代码

    我来讲一下“C#操作EXCEL DataTable转换的实例代码”的完整攻略。 什么是DataTable和Excel之间的转换? DataTable 是 .NET Framework 中的一个内置类型,用于存储内存中的数据。而 Excel 是一种电子表格,通常用于存储大量数据。由于 DataTable 和 Excel 都是用于存储数据的,因此我们可以在它们之…

    C# 2023年5月31日
    00
  • Unity实现卡片循环滚动效果的示例详解

    关于“Unity实现卡片循环滚动效果的示例详解”,我会提供完整的攻略,以下是具体步骤: 1. 准备工作 在开始项目之前,需要启动Unity,创建一个新的Unity项目并打开Unity编辑器。然后,可以通过导入各种素材来为项目准备好所需的资源,包括: 卡片素材:可以在图片素材库中找到并导入所需的卡片图片。 动画素材:动画素材可以是动画剪辑、动画曲线、粒子效果等…

    C# 2023年6月3日
    00
  • Entity Framework Core 大小写敏感处理

      可以使用’StringComparison’吗? 在数据库查询操作中,不可避免去考虑字母大小写的问题,比如要在Movie表中查找“X-Men”这部电影,为了不区分字母大小写,按照Linq to memory的习惯,可能会写出如下代码: DbContext.DbSet<Movie>  .Where(item => string.Equal…

    C# 2023年4月17日
    00
  • Google.Protobuf工具在C#中的使用方法

    下面是“Google.Protobuf工具在C#中的使用方法”的完整攻略: 前置条件 在使用 Google.Protobuf 工具之前你需要安装 .NET Core SDK 和 Google.Protobuf 工具,安装方法如下: 安装 .NET Core SDK (1) 下载 .NET Core SDK(选择最新版本)安装包。 (2) 执行安装包,一路点击…

    C# 2023年6月1日
    00
  • C#集合本质之队列的用法详解

    C#集合本质之队列的用法详解 什么是队列 队列是计算机科学中一种抽象数据类型,表示先进先出 (FIFO) 的线性数据结构。在队列中,元素从后端(也称为队尾)入队,从前端(也称为队首)出队。队列常用于存储按顺序排列的数据,如等待处理的请求和待打印的文档等。 C#中的队列 C#中的队列是由System.Collections命名空间下的Queue类实现的,它是一…

    C# 2023年6月7日
    00
  • Asp.net Core MVC中怎么把二级域名绑定到特定的控制器上

    Asp.net Core MVC中如何把二级域名绑定到特定的控制器上 在 Asp.net Core MVC 中,可以通过配置路由来将二级域名绑定到特定的控制器上。本攻略将介绍如何实现这一功能。 步骤 步骤1:创建一个新的 Asp.net Core MVC 项目 首先,我们需要创建一个新的 Asp.net Core MVC 项目。可以使用以下命令在命令行中创建…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部