using 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。
创建一个新项目
选择项目类型后,需要为项目命名并选择其位置。 您还可以为项目指定首选框架,例如 .NET Core 6。
项目配置
创建新项目后,您可以访问 program.cs 文件,在其中编写代码并运行应用程序。
项目代码已打开
现在 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 包管理器。
NuGet 软件包管理器
以下截图显示了搜索结果中的 IronXL:
IronXL 搜索结果
4.2 使用Visual Studio命令行
许多开发者更喜欢使用命令行界面安装软件包。 要使用命令行安装 IronXL,请按照以下步骤操作:
- 在Visual Studio中,转到工具 > NuGet包管理器 > 包管理器控制台。
-
在包管理器控制台选项卡中输入以下行:
Install-Package IronXLInstall-Package IronXLSHELL
该软件包将被下载并安装到当前项目中。
通过命令行安装
5. 安装和配置 SQL Server 数据库
要将SQL服务器数据库表安装并集成到您的C#项目中,首先,前往NuGet包管理器,搜索System.Data.SqlClient,并安装。
在 NuGet 程序包管理器 UI 中搜索并安装 SqlClient。
安装完成后,转到项目菜单并单击"添加新项目"。
添加新项目
将出现一个新窗口。 从侧边菜单中选择数据,然后从列表中单击"基于服务的数据库"。为数据库输入一个合适的名称,然后单击"添加"按钮。
选择基于服务的数据库
然后,在解决方案资源管理器中,右键单击新建的数据库,然后选择"打开"。 这将打开一个新的侧边栏。
右键单击并选择"打开"
在新侧边栏中,点击您的数据库并转到其属性。 从那里复制连接字符串。
右键单击并选择"属性"
处理连接字符串
复制连接首选项后,单击数据库实例以打开一个新列表。右键单击表文件夹,然后选择"添加新表"。
添加新表格
要在数据库中创建新表,请按照以下步骤操作:
- 打开一个新的数据表设计页面。
- 添加以下SQL查询,将创建一个包含三列的新表:
Number。 - 点击页面顶部的"更新"按钮。
- 新生成的表格将被添加到数据库中。
CREATE TABLE [dbo].[Table]
(
[Id] INT NOT NULL PRIMARY KEY,
[Name] VARCHAR(100) NOT NULL,
[Number] INT
)
SQL 环境已经搭建完毕,让我们创建一些示例数据,用 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
要检查数据是否已成功导出到数据库,请再次右键单击表目录,然后单击"新建查询"。此时将打开一个新页面,从顶部栏选择您的数据库,然后运行相应的 SQL 查询以检索数据。
SELECT * FROM [dbo].[Table]
按下绿色按钮,结果将在一秒钟内显示。
数据库数据
以下是如何将从 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,这是一套包含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数据库之间的数据传输可以自动化流程,确保数据准确性,节省时间,同时保持信息最新。




