跳過到頁腳內容
使用 IRONXL
如何讀取 Excel 資料並插入資料庫表 C# | 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 Package Manager。

如何在C#中讀取Excel數據並插入到資料庫表,圖4:NuGet Package Manager NuGet 套件管理器

以下截圖顯示搜索結果中的IronXL:

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

4.2 使用 Visual Studio 命令行

許多開發人員偏愛使用命令行界面安裝包。 要使用命令行安裝 IronXL,請按照以下步驟進行:

  • In Visual Studio, go to Tools > NuGet 套件管理器 > Package Manager Console.
  • 在包管理控制台標籤中輸入以下行:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

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

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

5. 安裝和配置SQL Server資料庫

要安裝和整合SQL Server數據庫表到您的C#項目中,首先前往NuGet Package Manager,搜索System.Data.SqlClient,並安裝它。

如何在C#中讀取Excel數據並插入到資料庫表,圖7:在NuGet Package Manager界面中搜索和安裝SqlClient 在NuGet Package Manager界面中搜索和安裝SqlClient

安裝後,前往項目菜單並點擊“添加新項目”。

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

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

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

然後,在解決方案總管中,右鍵點選新創建的數據庫並選擇“打開”。 這將打開一個新的側邊欄。

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

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

如何在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函式庫在SQL Server數據庫中將數據從Excel文件添加到SQL Server表的步驟。 它還提供了對IronXL函式庫的簡要介紹,討論了插入數據所需的先決條件,並描述了如何在Visual Studio中創建新項目、安裝IronXL和配置SQL Server資料庫。 請訪問以下教程以學習如何在C#中讀取Excel文件

Additionally, IronXL also offers advanced features including support for cell formatting such as text alignment, font size, color, freeze panel, adding formulas, applying conditional formatting, and encryption with a password.

用戶還可以受益於Iron Suite,這是包含IronPDF、IronOCR、IronXL、IronBarcode和IronWebscraper的軟體開發工具集合。

常見問題解答

我怎樣用 C# 從 Excel 文件中讀取資料?

您可以使用 IronXL 在 C# 中從 Excel 文件中讀取資料。IronXL 提供的方法允許您開啟和讀取 Excel 文件,從而可以以程式方式訪問和處理資料。

將 Excel 資料插入到 C# 中的 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 資料已成功插入資料庫?

您可以通過運行像 SELECT * FROM [dbo].[Table] 的 SQL 查詢來驗證數據插入,從而提取和檢查 SQL Server 資料庫中的數據條目。

IronXL 提供的高級功能有哪些?

IronXL 提供高級功能,如圖表創建、資料可視化、單元格格式化、凍結面板、添加公式、條件格式化和密碼加密。

如何在我的 Visual Studio 項目中安裝 IronXL?

您可以在您的 Visual Studio 專案中通過使用 NuGet 套件管理器搜索並安裝 IronXL,或在 Visual Studio 命令行中執行 Install-Package IronXL 來安裝 IronXL。

為什麼我應該使用 IronXL 在 Excel 和 SQL 資料庫之間進行資料傳輸?

使用 IronXL 在 Excel 和 SQL 資料庫之間進行資料傳輸可以自動化過程,確保資料的準確性,節省時間,同時保持信息的最新。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。