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

yizhihongxing

实现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日

相关文章

  • C#之泛型详解

    C#之泛型详解 什么是泛型? 在C#中,泛型是一种可以通过使用类型参数实现参数化类型的编程概念。简单来说,泛型让我们可以在定义方法、类、接口时使用类型参数,使得代码可以更加通用化,避免了重复而相似的代码,提高了代码的复用率和类型安全性。 泛型的基本用法 泛型的基本语法结构是在方法或类名后面添加尖括号“<>”,里面填充泛型参数,如下所示: publ…

    C# 2023年5月15日
    00
  • C#执行Javascript代码的几种方法总结

    C#执行JavaScript代码的几种方法总结 在C#代码中执行JavaScript代码是非常有用的操作,本文将介绍C#执行JavaScript代码的几种方法,以及各种方法的优缺点和应用场景。 方法一:WebBrowser控件 WebBrowser控件是一个基于IE内核的控件,可以解析和渲染HTML文档,同时支持JavaScript代码的执行。可以通过在C#…

    C# 2023年5月15日
    00
  • C#实现异步的常用方式总结

    让我来详细讲解一下“C#实现异步的常用方式总结”的完整攻略。 异步编程简介 在 C# 中,我们使用异步编程来执行长时间运行的操作,以便不会阻塞主线程。异步编程可以在不使用多线程的情况下实现并发性,并且能够改善应用程序的响应性能。 C# 实现异步的常用方式 C# 实现异步的常用方式主要有以下方式: 1.使用 Task 和 async/await Task 和 …

    C# 2023年5月15日
    00
  • 在 asp.net core 的中间件中返回具体的页面的实现方法

    在 ASP.NET Core 中,中间件是处理 HTTP 请求和响应的组件,可以是任何处理这些请求和响应的代码。在中间件中返回具体的页面,通常需要借助于 ASP.NET Core MVC 中的视图引擎和控制器。下面是具体的实现方法。 步骤1:添加 MVC 中间件服务 首先,需要在 ASP.NET Core 应用程序中添加 MVC 中间件服务。在 Startu…

    C# 2023年5月31日
    00
  • C# 守护进程的介绍及实现详解

    C# 守护进程的介绍及实现详解 什么是守护进程? 守护进程(Daemon)是一种在后台运行的进程,通常用于执行一些系统级别或长期运行的任务,例如监控系统资源、定时执行任务、管理硬件设备等。 C# 实现守护进程的方式 在 C# 中实现守护进程有两种方式: 使用 System.ServiceProcess 命名空间实现 Windows 服务 使用 System.…

    C# 2023年6月1日
    00
  • c#中判断类是否继承于泛型基类

    要判断一个类是否继承于泛型基类,可以使用C#中的Type类和反射机制。 首先,使用Type类获取这个类的Type对象,然后使用Type对象的IsSubclassOf方法判断这个类是否继承于泛型基类。IsSubclassOf方法需要一个参数,即要判断的基类的Type对象。下面是一个示例代码: using System; class Program { stat…

    C# 2023年5月15日
    00
  • .NET基础面试题整理小结

    针对“.NET基础面试题整理小结”的攻略,我可以提供以下的完整过程和示例说明: 1. 确定文章的主旨和目标读者 首先需要明确,文章的主旨是整理.NET基础面试题,并对每个问题进行详细解答;目标读者是那些正在学习.NET编程或者准备参加.NET相关面试的人员。 2. 收集面试题库,按照分类整理 在整理.NET基础面试题时,需要先收集全面的面试题库,包括语言基础…

    C# 2023年6月6日
    00
  • C# StringBuilder.Append()方法: 将一个字符串追加到 StringBuilder 对象的末尾

    StringBuilder是C#中用来动态生成字符串的类,可以有效地避免字符串拼接等操作因为频繁创建新的字符串对象而造成的性能问题。StringBuilder类有多种方法可以用来操作字符串,其中Append()是最常用的方法之一。 Append()方法的作用 StringBuilder.Append()方法用于在已有字符串的末尾追加新的内容。具体来说,就是将…

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