使用IRONXL

如何在 C# 中讀取 Excel 資料並插入到數據庫表中

已更新 2024年3月24日
分享:

本文將探討如何使用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 套件管理器。

如何讀取 Excel 資料並插入到資料庫表格中(C#),圖 4:NuGet 套件管理員

NuGet 套件管理員

以下截圖顯示了 IronXL 在搜尋結果中的樣子:

如何在 C# 中讀取 Excel 數據並插入到數據庫表中,圖 5:IronXL 搜尋結果

IronXL 搜尋結果

4.2 使用 Visual Studio 命令列

許多開發人員偏好使用命令列介面來安裝套件。要使用命令列安裝 IronXL,請按照以下步驟操作:

  • 在 Visual Studio 中,依序前往 工具 > NuGet 套件管理員 > 套件管理員主控台
  • 在套件管理員主控台標籤中輸入以下行:
  :ProductInstall

該套件將下載並安裝到當前項目中。

如何讀取Excel數據並插入到C#中的數據庫表,圖6:通過命令行安裝

通過命令行安裝

5. 安裝和配置 SQL 伺服器資料庫

要安裝並將 SQL 伺服器資料庫表格與您的 C# 專案整合,首先到 NuGet 套件管理器,搜尋 System.Data.SqlClient,並安裝它。

如何在C#中讀取Excel數據並插入到數據庫表中,圖7:在NuGet包管理器 UI 中搜索和安裝SqlClient

在 NuGet 套件管理器 UI 中搜尋並安裝 SqlClient

安裝後,進入專案選單並點擊“新增項目”。

如何在 C# 中讀取 Excel 數據並插入到資料庫表中,圖 8:新增項目

新增項目

將會出現一個新窗口。從側邊菜單中選擇資料,然後從列表中點擊基於服務的資料庫。為資料庫寫一個合適的名稱,然後點擊新增按鈕。

如何在 C# 中讀取 Excel 資料並插入數據庫表,圖 9:選擇基於服務的數據庫

選擇基於服務的資料庫

然後,在“方案總管”中右鍵點擊新建的資料庫並選擇“開啟”。這將開啟一個新的側邊欄。

如何在C#中讀取Excel數據並插入資料庫表,圖 10:右鍵點擊並選擇 Open

右键点击并选择打开

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

如何讀取 Excel 數據並插入到C#中的資料庫表格,圖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
)
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] varchar(100) NOT NULL,
  [number] INT
)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'CREATE TABLE [dbo].[Table] ([Id] INT @NOT NULL PRIMARY KEY, [Name] varchar(100) @NOT NULL, [number] INT)
VB   C#

現在 SQL 環境已經設置完畢,讓我們從 Excel 數據創建一些樣本數據來填充此數據庫。

如何讀取 Excel 資料並插入到 C# 的資料庫表中,圖 14:Excel 文件資料

Excel 文件數據

6. 使用 IronXL 將 Excel 文件數據導入並導出到資料庫

利用 IronXL,開發人員可以自動化在 Excel 文件和資料庫之間傳輸數據的過程,這可以節省大量的時間和精力。通過使用 IronXL,開發人員可以簡化工作流程,消除手動數據輸入的需求,確保數據準確且最新。

在設置 SQL 伺服器並複製連接字串後,只需將連接字串粘貼到下面的代碼中,將您的 Excel 文件與代碼連接起來,並在需要時更改 SQL 查詢。然後只需運行代碼,數據便會被導出到資料庫表中。

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

WorkBook workBook = WorkBook.Load("book.xlsx");

DataSet dataSet = workBook.ToDataSet();

string sql = "SELECT * FROM [dbo].[Table]";

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))
{
    connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
using IronXL;
using System.Data;
using System.Data.SqlClient;

WorkBook workBook = WorkBook.Load("book.xlsx");

DataSet dataSet = workBook.ToDataSet();

string sql = "SELECT * FROM [dbo].[Table]";

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))
{
    connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Private workBook As WorkBook = WorkBook.Load("book.xlsx")

Private dataSet As DataSet = workBook.ToDataSet()

Private sql As String = "SELECT * FROM [dbo].[Table]"

Private 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)
	connection.Open()
	Dim adapter As New SqlDataAdapter(sql, connection)
	adapter.Update(dataSet)
End Using
VB   C#

要檢查資料是否已成功匯出至資料庫,再次右鍵點擊資料表目錄,然後點擊“新查詢”。 將打開一個新頁面,從頂部欄選擇您的資料庫,並運行相應的SQL查詢以檢索資料。

SELECT * FROM [dbo].[Table]

按下綠色按鈕,結果將在一秒內顯示。

如何讀取 Excel 數據並插入到 C# 中的數據庫表格,第15圖:數據庫數據

數據庫數據

這是將從 Microsoft Excel 文件導入的數據寫入數據庫的方法。

7. 結論

處理Excel電子表格是許多應用程式中的常見任務,並且將Excel表中的數據插入數據庫表可以簡化數據管理過程。使用例如IronXL的庫可以在C#中實現此任務。通過利用這個庫,開發者可以輕鬆地從Excel表中提取數據並插入數據庫表中,簡化數據管理過程並減少錯誤的機會。本文介紹了使用IronXL庫將Excel文件中的數據添加到SQL Server數據庫中的SQL Server表所涉及的步驟。同時還簡要介紹了IronXL庫,討論了插入數據所需的先決條件,並描述了如何在Visual Studio中創建新項目,安裝。 IronXL,並配置 SQL Server 數據庫。請訪問以下教程學習如何 讀取Excel文件 在C#中。

此外,IronXL還提供了包括支援單元格格式化在內的高级功能,例如 文本對齊、字體大小、顏色, 凍結面板, 添加公式, 應用條件格式化,和 使用密碼加密用戶也可受益於 Iron Suite, 一套包含 IronPDF、IronOCR、IronXL、IronBarcode 和 IronWebscraper 的軟體開發工具集合。

< 上一頁
如何在 ASP.NET Core 中將資料表匯出到 Excel
下一個 >
如何在C#中將數據集轉換為Excel

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 1,023,839 查看許可證 >