跳至页脚内容
使用 IRONXL
如何在C#中读取Excel数据并插入到数据库表 | IronXL

使用 C# 读取 Excel 数据并插入数据库

本文将探讨如何使用 IronXL(一个 C# Excel 库)从 Excel 文件中读取数据并将其插入数据库表中。

1. IronXL

IronXL 是一个功能强大的软件库,专为 .NET 开发人员设计,为他们提供易于使用的 API,以便在 .NET 应用程序中读取、写入和操作 Excel 文件。 它提供了一套全面的功能,用于创建、编辑和导出 Excel 电子表格,而无需在目标计算机上安装 Microsoft Office 或 Excel。该库支持多种文件格式,包括 XLS、XLSX、CSV、TSV 等,使开发人员能够轻松创建可部署到任何位置的基于 Excel 的应用程序。 IronXL 还提供图表创建、数据可视化和数据分析等高级功能,以简化从小到大项目的开发过程。

2. 先决条件

在使用 IronXL 库从 Excel 文件写入数据库之前,必须满足某些先决条件。 其中包括:

  • 您的计算机上已安装 Visual Studio,以便创建 C# 项目。
  • 在创建 C# 项目之前,请确保您的系统上已安装 ASP.NET。
  • 在您的系统上安装 IronXL 库以导出数据。 您可以通过从 Visual Studio 中的 NuGet 包管理器下载 IronXL NuGet 包来获取它。
  • 在 Visual Studio 中安装 SQL。

3. 在Visual Studio中创建新项目

在使用 IronXL 库执行与 Excel 相关的操作之前,您需要在 Visual Studio 中创建一个 .NET 项目。 虽然任何版本的 Visual Studio 都兼容,但建议使用最新版本。 您可以根据项目需求,从各种项目模板中进行选择,例如 Windows Forms 和 ASP.NET。 本教程建议使用控制台应用程序项目模板来演示如何使用 IronXL。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 1:创建一个新的项目窗口 创建一个新项目

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

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 2:项目配置 项目配置

创建新项目后,您可以访问 program.cs 文件,在其中编写代码并运行应用程序。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 3:已打开代码的项目 项目代码已打开

现在 Visual Studio 项目已经创建完成,让我们安装 IronXL。

4. 安装IronXL

IronXL 库可以通过多种方式下载和安装,但本文将介绍两种最简单的方法:

  • 在 Visual Studio 中使用 NuGet 包。
  • 使用Visual Studio命令行。

4.1 使用Visual Studio

要安装 IronXL 库,第一种方法是在 Visual Studio 中使用 NuGet 包管理器。 只需打开 NuGet 包管理器并在浏览选项卡中搜索 IronXL。 找到 IronXL 后,选择它并继续安装。 安装完成后,您可以开始在项目中使用 IronXL 库。

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

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 4:NuGet 包管理器 NuGet 软件包管理器

以下截图显示了搜索结果中的 IronXL:

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 5:IronXL 搜索结果 IronXL 搜索结果

4.2 使用Visual Studio命令行

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

  • 在Visual Studio中,转到工具 > NuGet包管理器 > 包管理器控制台
  • 在包管理器控制台选项卡中输入以下行:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

该软件包将被下载并安装到当前项目中。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 6:通过命令行安装 通过命令行安装

5. 安装和配置 SQL Server 数据库

要将 SQL Server 数据库表安装并集成到您的 C# 项目中,首先,转到 NuGet 包管理器,搜索System.Data.SqlClient ,然后安装它。

如何在 C# 中读取 Excel 数据并将其插入数据库表?图 7:在 NuGet 包管理器 UI 中搜索并安装 SqlClient 在 NuGet 程序包管理器 UI 中搜索并安装 SqlClient。

安装完成后,转到项目菜单并单击"添加新项目"。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 8:添加新项 添加新项目

将出现一个新窗口。 从侧边菜单中选择数据,然后从列表中单击"基于服务的数据库"。为数据库输入一个合适的名称,然后单击"添加"按钮。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 9:选择基于服务的数据库 选择基于服务的数据库

然后,在解决方案资源管理器中,右键单击新建的数据库,然后选择"打开"。 这将打开一个新的侧边栏。

图 10:如何在 C# 中读取 Excel 数据并将其插入数据库表:右键单击并选择"打开" 右键单击并选择"打开"

在新侧边栏中,点击您的数据库并转到其属性。 从那里复制连接字符串。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 11:右键单击并选择"属性" 右键单击并选择"属性"

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 12:处理连接字符串 处理连接字符串

复制连接首选项后,单击数据库实例以打开一个新列表。右键单击表文件夹,然后选择"添加新表"。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 13:添加新表 添加新表格

要在数据库中创建新表,请按照以下步骤操作:

  1. 打开一个新的数据表设计页面。
  2. 添加以下 SQL 查询,这将创建一个包含三列的新表: IdNameNumber
  3. 点击页面顶部的"更新"按钮。
  4. 新生成的表格将被添加到数据库中。
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] VARCHAR(100) NOT NULL,
  [Number] INT
)

SQL 环境已经搭建完毕,让我们创建一些示例数据,用 Excel 数据填充这个数据库。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 14:Excel 文件数据 Excel 文件数据

6. 使用 IronXL 导入 Excel 文件数据并导出到数据库

借助 IronXL,开发人员可以自动执行在 Excel 文件和数据库之间传输数据的过程,从而节省大量时间和精力。 通过使用 IronXL,开发人员可以简化工作流程,消除手动数据输入的需要,从而确保数据的准确性和时效性。

SQL 服务器设置完毕并复制连接字符串后,只需将连接字符串粘贴到下面的代码中,将 Excel 文件与代码链接,并根据需要更改 SQL 查询即可。 然后只需运行代码,数据就会导出到数据库表中。

using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");

// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();

// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";

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

// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open(); // Open connection
    // Use SqlDataAdapter to update SQL table with DataSet from Excel file
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");

// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();

// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";

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

// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open(); // Open connection
    // Use SqlDataAdapter to update SQL table with DataSet from Excel file
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
Imports IronXL ' Import the IronXL library
Imports System.Data ' Import data handling library
Imports System.Data.SqlClient ' Import SQL Client library for SQL database operations

' Load the Excel workbook
Private workBook As WorkBook = WorkBook.Load("book.xlsx")

' Convert the workbook into a DataSet
Private dataSet As DataSet = workBook.ToDataSet()

' Define the SQL query to select data from the table
Private sql As String = "SELECT * FROM [dbo].[Table]"

' Connection string for the SQL Server
Private connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"

' Open a connection to the SQL Server using the connection string
Using connection As New SqlConnection(connectionString)
	connection.Open() ' Open connection
	' Use SqlDataAdapter to update SQL table with DataSet from Excel file
	Dim adapter As New SqlDataAdapter(sql, connection)
	adapter.Update(dataSet)
End Using
$vbLabelText   $csharpLabel

要检查数据是否已成功导出到数据库,请再次右键单击表目录,然后单击"新建查询"。此时将打开一个新页面,从顶部栏选择您的数据库,然后运行相应的 SQL 查询以检索数据。

SELECT * FROM [dbo].[Table]

按下绿色按钮,结果将在一秒钟内显示。

如何在 C# 中读取 Excel 数据并将其插入数据库表,图 15:数据库数据 数据库数据

以下是如何将从 Microsoft Excel 文件导入的数据写入数据库的方法。

7. 结论

在许多应用程序中,使用 Excel 电子表格是一项常见任务,将 Excel 表格中的数据插入数据库表可以简化数据管理流程。 在 C# 中实现此任务的一种方法是使用允许读取和操作 Excel 文件的库,例如 IronXL。 利用该库,开发人员可以轻松地从 Excel 表格中提取数据并将其插入数据库表,从而简化数据管理过程并减少出错的几率。 本文介绍了使用 IronXL 库将 Excel 文件中的数据添加到 SQL Server 数据库中的 SQL Server 表中的步骤。 它还简要介绍了 IronXL 库,讨论了插入数据所需的先决条件,并描述了如何在 Visual Studio 中创建一个新项目、安装IronXL以及配置 SQL Server 数据库。 请访问以下教程,学习如何在 C# 中读取 Excel 文件

此外,IronXL 还提供高级功能,包括支持单元格格式设置,例如文本对齐、字体大小、颜色冻结面板添加公式应用条件格式以及使用密码加密

用户还可以从[Iron Suite](Iron Suite)中受益,Iron Suite 是一套软件开发工具,包括 IronPDF、IronOCR、IronXL、IronBarcode 和 IronWebScraper。

常见问题解答

如何使用C#从Excel文件中读取数据?

您可以使用IronXL在C#中从Excel文件中读取数据。IronXL提供了打开和读取Excel文件的方法,使您可以编程访问和操作数据。

将Excel数据插入SQL数据库的步骤是什么?

要使用C#将Excel数据插入SQL数据库,首先使用IronXL读取数据并将其转换为DataSet。然后,使用SqlDataAdapter使用DataSet更新SQL数据库表。

我如何创建新数据库表以导入Excel数据?

您可以通过执行SQL查询如CREATE TABLE [dbo].[Table] ( [Id] INT NOT NULL PRIMARY KEY, [Name] VARCHAR(100) NOT NULL, [Number] INT )来定义表结构以创建新数据库表。

在 C# 项目中使用 IronXL 有哪些先决条件?

前提条件包括安装Visual Studio、从NuGet包管理器安装的IronXL库,以及在Visual Studio环境中配置的SQL Server。

我如何验证Excel数据已成功插入到数据库中?

您可以通过运行SQL查询如SELECT * FROM [dbo].[Table]来验证数据插入,以在SQL Server数据库中获取并查看数据条目。

IronXL提供哪些高级功能?

IronXL提供高级功能,比如图表创建、数据可视化、单元格格式化、冻结面板、添加公式、条件格式化和使用密码加密。

如何在我的Visual Studio项目中安装IronXL?

您可以通过使用NuGet包管理器搜索并安装IronXL,或在Visual Studio命令行中执行Install-Package IronXL,在您的Visual Studio项目中安装IronXL。

为什么应该使用IronXL进行Excel与SQL数据库之间的数据传输?

使用IronXL进行Excel与SQL数据库之间的数据传输可以自动化流程,确保数据准确性,节省时间,同时保持信息最新。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。