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日

相关文章

  • ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)

    以下是实现 ASP.NET(C#)一次性动态上传多张图片的代码攻略。 1. 创建HTML表单 在HTML中创建一个包含多个文件的上传表单,可参考以下代码: <form id="form1" runat="server" enctype="multipart/form-data"> &lt…

    C# 2023年5月31日
    00
  • C#8.0默认接口实现的详细实例

    下面是关于C#8.0默认接口实现的详细攻略: 什么是C#8.0的默认接口实现? 默认接口实现是C#8.0中引入的新功能,它允许我们为接口的成员提供默认的实现,这样所有实现该接口的类都可以直接继承这些默认实现,而不需要再次手动实现这些接口成员。 如何使用C#8.0的默认接口实现? 我们使用关键字 default 来定义接口的默认成员实现。 例如,假设我们有一个…

    C# 2023年6月7日
    00
  • C#读取命令行参数的方法

    下面我就为你详细讲解C#读取命令行参数的方法。 1. 什么是命令行参数 命令行参数是指在程序启动时,通过命令行传递给程序的一些参数。在C#中,可以通过string[] args参数的形式来读取命令行参数,其中args是一个存储程序启动参数的字符串数组。 2. 读取命令行参数的方法 要读取命令行参数,只需要在程序的Main函数中添加一个string[] arg…

    C# 2023年6月7日
    00
  • WCF如何绑定netTcpBinding寄宿到控制台应用程序详解

    WCF如何绑定netTcpBinding寄宿到控制台应用程序详解 WCF(Windows Communication Foundation)是一种用于构建分布式应用程序的框架。它提供了一种统一的编程模型,可以使用不同的传输协议和编码方式来实现跨平台的通信。其中,netTcpBinding是一种高性能的传输协议,可以在局域网内快速传输大量数据。在本文中,我们将…

    C# 2023年5月15日
    00
  • C# 中如何取绝对值函数

    当我们需要取绝对值函数时,可以使用Math库中的Abs函数。具体的使用方法如下所示: //取整数的绝对值 int a = -5; int absA = Math.Abs(a); //absA的值为5 //取小数的绝对值 double b = -3.14; double absB = Math.Abs(b); //absB的值为3.14 上述代码中,我们使用了…

    C# 2023年5月15日
    00
  • 详解datagrid使用方法(重要)

    详解datagrid使用方法(重要) 什么是datagrid? datagrid是一种网格组件,可以在Web应用程序中展示和编辑数据。它以类似于表格的形式,将数据呈现给用户,通常用于显示大量数据的情况,比如数据报表、数据分析等。 如何使用datagrid? 在使用datagrid之前,需要引入datagrid的库文件。目前较为常用的有jQuery EasyU…

    C# 2023年6月1日
    00
  • C#利用后缀表达式解析计算字符串公式

    关于C#利用后缀表达式解析计算字符串公式,我们可以按照以下步骤来实现: 第一步:将中缀表达式转换为后缀表达式 将中缀表达式转换为后缀表达式有许多种算法,这里我们介绍一种简单的算法: 新建一个栈和一个列表; 从左到右遍历中缀表达式的每一个元素,每次处理一个元素; 如果该元素是数字,将其加入列表; 如果该元素是运算符,将其压入栈中,先判断栈顶元素的运算符与其优先…

    C# 2023年6月7日
    00
  • C#滚动字幕的实现方法

    下面是关于“C#滚动字幕的实现方法”的详细攻略: 实现思路 滚动字幕的实现思路,主要是通过定时器控制文字的位置,达到滚动的效果。在具体实现的过程中,需要使用 C# 的画布 (System.Drawing.Graphics) 绘制文字,以及使用 System.Windows.Forms.Timer 控制滚动的速度。 实现步骤 1. 创建一个窗体 通过 Visu…

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