使用IRONXL

如何在C#中将大量数据从DataTable导出到Excel

雷根·彭
雷根·彭
2023年六月6日
更新 2024年三月31日
分享:

本文将提供从DataTable提取大量数据到Excel工作表的最有效方法。

IronXL

IronXL 是一个先进的 C# 库,提供简单直观的接口,用于以编程方式读取、编写和编辑 Excel 文件。 它是一款能够充分释放 Excel 电子表格潜力的工具,让开发人员和用户能够轻松操作数据。 它旨在处理 Excel 中较为重复和耗时的任务。 无论您是在制作财务模型、销售报告还是数据可视化项目,IronXL 都能帮助您快速高效地完成工作。

有了 IronXL,您可以简化工作流程,减少错误,并将 Excel 自动化提升到一个新的水平。 IronXL.Excel 可让您直接与 Excel 数据交互,而无需对接 MS 文件或库。 开发人员可以通过IronXL API管理诸如单元格、范围多个工作表等元素。 IronXL 还提供了WorkSheet API的详细文档

通过使用IronXL,开发人员可以轻松地将大量数据从DataTable导出到Excel电子表格,同时保持应用程序的性能并最大限度地减少错误的可能性。 了解如何用 C# 将数据从 DataTable 导出到 Excel,可以帮助开发人员有效地管理应用程序中的数据并增强用户体验。

本文将讨论如何将大量数据从DataTable导出到Excel文件。它提供了从在Visual Studio中创建.NET项目到安装IronXL库和代码示例的逐步指南。 请务必做好准备,利用 IronXL 释放您的创造力,挖掘数据的全部潜力。

1.前提条件

使用 IronXL.Excel 库从数据库写入 Excel 文件必须满足几个前提条件。 这些包括:

  • 必须在计算机上安装 Visual Studio 才能创建 C# 项目。
  • 在创建 C# 项目之前,您的系统必须安装 ASP.NET。
  • 您的系统必须安装 IronXL 库。 您可以从 Visual Studio 中的 NuGet 包管理器下载 IronXL NuGet 包获得。
  • SQL 也必须安装在 Visual Studio 中。 理想情况下,数据库中还应有一个导出数据的表格。 可以使用SQL命令CREATE TABLE来创建这样的表并定义其结构。

2.在 Visual Studio 上创建新项目

在利用 IronXL 库执行 Excel 相关操作之前,您首先需要在 Visual Studio 中创建一个 .NET 项目。 尽管可以兼容任何版本的 Visual Studio,但建议使用最新版本。

您可以根据自己的要求选择各种项目模板,如 Windows 窗体和 ASP.NET。

本教程采用控制台应用程序项目模板来演示如何使用 IronXL。

如何从DataTable导出大量数据到Excel(C#),图1:创建新项目窗口

创建新项目窗口

选择项目类型后,您需要为项目命名并选择其位置。 您还可以指定项目的首选框架,如 .NET Core 6。

如何将海量数据从DataTable导出到Excel中,图2:项目配置

项目配置

解决方案生成后,您可以访问 program.cs 文件,在其中输入代码并创建/执行应用程序。

如何将大型数据从DataTable导出到Excel中C#,图3:项目代码打开

项目代码开放

3.安装 IronXL

IronXL 库可以通过不同的方法下载和安装:

  • 使用 Visual Studio NuGet 软件包
  • 使用Visual Studio命令行。

3.1 使用 Visual Studio NuGet 软件包

要在 Visual Studio 中使用 NuGet 包管理器安装 IronXL 库,请打开 NuGet 包管理器并在浏览选项卡中搜索 IronXL。

在搜索结果中找到 IronXL 后,请选择并继续安装。 安装完成后,您就可以在项目中使用 IronXL 库了。

下面的截图显示了如何在 Visual Studio 中打开 NuGet 包管理器。

如何将大量数据从DataTable导出到Excel(C# 中),图 4: NuGet 包管理器

NuGet 包管理器

搜索结果中的 IronXL:

如何将大量数据从DataTable导出到Excel(C#),图5:IronXL搜索结果

IronXL 搜索结果

3.2 使用 Visual Studio 命令行

许多开发人员喜欢使用命令行界面安装软件包。 要使用命令行安装 IronXL,请按照以下步骤操作:

  • 在 Visual Studio 中转到工具 > NuGet 包管理器 > 包管理器控制台
  • 在“包管理器控制台”选项卡中输入以下行:
Install-Package IronXL.Excel

现在,软件包将下载/安装到当前项目中,即可使用。

如何在C#中将海量数据从DataTable导出到Excel,图6:通过命令行安装

通过命令行安装

4.将数据从 DataTable 导出到 Excel 文件

要使用IronXL将DataTable中的数据导出到Excel,你需要将数据库表集成到C#项目中。

以下代码示例展示了如何将所有DataTable列的数据导出到Excel工作表。

using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

class LargeDataToExcel 
{
    static void Main()
    {
        // Your sql query
        string sql = "SELECT * FROM [dbo].[Table]";

        // Your connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open connections to the database
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            // Create new DataSet
            DataSet ds = new DataSet();
            // Fill DataSet with data
            adapter.Fill(ds);

            // Create an Excel new workbook from the SQL DataSet
            WorkBook workBook = WorkBook.Load(ds);
            workBook.SaveAs("sample.xlsx");
        }
    }
}
using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

class LargeDataToExcel 
{
    static void Main()
    {
        // Your sql query
        string sql = "SELECT * FROM [dbo].[Table]";

        // Your connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open connections to the database
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            // Create new DataSet
            DataSet ds = new DataSet();
            // Fill DataSet with data
            adapter.Fill(ds);

            // Create an Excel new workbook from the SQL DataSet
            WorkBook workBook = WorkBook.Load(ds);
            workBook.SaveAs("sample.xlsx");
        }
    }
}
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Linq

Friend Class LargeDataToExcel
	Shared Sub Main()
		' Your sql query
		Dim sql As String = "SELECT * FROM [dbo].[Table]"

		' Your connection string
		Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"

		Using connection As New SqlConnection(connectionString)
			' Open connections to the database
			connection.Open()
			Dim adapter As New SqlDataAdapter(sql, connection)
			' Create new DataSet
			Dim ds As New DataSet()
			' Fill DataSet with data
			adapter.Fill(ds)

			' Create an Excel new workbook from the SQL DataSet
			Dim workBook As WorkBook = WorkBook.Load(ds)
			workBook.SaveAs("sample.xlsx")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

如何将庞大的数据从DataTable导出到Excel的C#教程,图7:提取到Excel文件中的数据

Excel 文件中的提取数据

在上面的代码中,一个大型数据表从 SQL Server 数据库中获取并导出到 Excel 文件中。项目与 SQL 服务器之间通过连接字符串建立连接。

使用SqlDataAdapter对象,我们检索由SQL查询指定的数据。 DataSet 对象可以存储 DataTables 集合、它们的关系和约束。 SqlDataAdapter 使用数据表中的数据作为 SQL 查询结果填充 DataSet。

然后,从IronXL库创建WorkBook类的新实例,并将DataSet加载到其中。 最后,WorkBook被保存为一个XLSX文件,这是Excel文件的扩展名。

有了这段代码,就无需创建每一行标题或手动添加列。 只需几秒钟,该表格中的所有数据就能通过 IronXL.Excel 库导出到一个新的 Excel 文件中。 使用这种技术,开发人员可以轻松地将不同数据类型、大小和来源的数据导出到 Excel 工作表中。

结论

可以使用各种库和技术,用 C# 将数据从 DataTable 导出到 Excel 电子表格。 在处理大量数据时,利用既能高效处理数据又不影响应用程序性能的技术至关重要。

IronXL 库是一个优秀的解决方案,提供了一个简单、直观的界面,以编程方式读取、写入和编辑 Excel 文件。 要利用 IronXL 库从 Excel 文件写入数据库,必须满足几个先决条件,如安装 Visual Studio 和 ASP.NET。满足前提条件后,就可以通过不同方法下载和安装 IronXL 库,如使用 Visual Studio NuGet 软件包和 Visual Studio 命令行。安装完成后,下一步就是编写代码,创建一个新工作表的新对象发送器,将 DataTable 导出到 Excel 工作表。

通过了解如何用 C# 将数据从 DataTable 导出到 Excel 工作表,开发人员可以有效地管理其应用程序中的数据并增强用户体验。 请访问以下教程,以获取有关从DataTable导出数据到Excel的更多详细信息。 请访问其他教程以获取有关如何从Excel 文件中导出数据的更多信息。 IronXL提供免费试用,用户可以尝试其所有功能。

用户还可以从Iron Suite中受益,这是一套软件开发工具,包括IronPDFIronOCRIronXLIronBarcodeIronWebscraper

雷根·彭
软件工程师
Regan毕业于雷丁大学,拥有电子工程学士学位。在加入Iron Software之前,他的前工作职位要求他专注于单一任务;他在Iron Software最喜欢的是能进行多种工作,无论是增加销售价值、技术支持、产品开发还是营销。他喜欢了解开发人员如何使用Iron Software的库,并利用这些知识不断改进文档和开发产品。
< 前一页
如何在C#中打开Excel文件并写入数据
下一步 >
如何在C#中将Excel转换为Datagridview