使用IRONXL

使用 C# 讀取 Excel 數據並插入到數據庫中

里根普恩
里根普恩
2023年5月1日
已更新 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。

如何讀取 Excel 資料並插入到 C# 中的資料庫表,圖 2:專案配置

專案配置

在新專案建立後,您可以存取 program.cs 文件,在此處編寫程式碼並執行應用程式。

如何讀取 Excel 資料並插入到 C# 中的資料庫表格,圖 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 套件管理員 > 套件管理器主控台
  • 在封裝管理員主控台標籤中輸入以下行:
  :ProductInstall

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

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

透過命令行安裝

5. 安裝和配置 SQL Server 數據庫

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

如何在 C# 中讀取 Excel 數據並插入到資料庫表格,圖 7:在 NuGet 套件管理員介面中搜尋並安裝 SqlClient

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

安裝後,前往專案選單並點擊「新增項目」。

如何讀取 Excel 資料並插入至 C# 資料庫表格,第八圖:新增項目

新增項目

將會出現一個新視窗。 從側邊選單中選擇數據,然後從列表中點擊服務型資料庫。為資料庫寫一個合適的名稱,然後點擊添加按鈕。

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

選擇基於服務的資料庫

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

如何讀取 Excel 資料並插入至資料庫表格中的 C#,圖 10:右鍵點擊並選擇開啟

右鍵點擊並選擇開啟

在新的側邊欄中,點擊您的數據庫並查看其屬性。 從那裡複製連接字串。

如何在C#中读取Excel数据並插入到数据库表中,图11:右键点击并选择属性

右鍵點擊並選擇屬性

如何讀取 Excel 數據並插入到 C# 中的資料庫表,圖 12:處理連接字串

處理連接字串

複製連線偏好設定後,點擊您的資料庫實例以開啟新列表。右鍵點擊資料表資料夾,然後選擇「新增資料表」。

如何讀取 Excel 資料並插入到 C# 中的資料庫表格,圖 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)
$vbLabelText   $csharpLabel

現在 SQL 環境已配置好,我們來建立一些範例數據以便從 Excel 資料填充這個資料庫。

如何在C#中讀取Excel數據並插入到資料庫表格中,圖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
$vbLabelText   $csharpLabel

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

SELECT * FROM [dbo].[Table]

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

如何讀取 Excel 資料並插入到 C# 中的資料庫表格,圖 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中受益,這是一套軟體開發工具集合,包括IronPDF、IronOCR、IronXL、IronBarcode和IronWebscraper。

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
如何在 ASP.NET Core 中將資料表匯出到 Excel
下一個 >
如何在C#中將數據集轉換為Excel