跳至頁尾內容
USING IRONXL
如何在C#中讀取Excel資料並插入資料庫表|IronXL

using C# 讀取 Excel 資料並插入資料庫

本文將探討如何使用IronXL,一個C# Excel程式庫,從Excel文件讀取資料並將其插入到資料庫表格中。

1. IronXL

IronXL是一個為.NET開發者設計的強大軟體程式庫,提供簡單易用的API來讀取、編寫和操作Excel文件於.NET應用程式中。 它提供了建立、編輯和匯出Excel試算表的全面功能,且無需在目標電腦上安裝Microsoft Office或Excel。支援包括XLS、XLSX、CSV、TSV等多種文件格式,這個程式庫讓開發者可以輕鬆建立可在任何地方部署的Excel應用程式。 IronXL還提供進階功能如圖表建立、資料視覺化和資料分析,以便簡化小型至大型專案的開發過程。

2. 先決條件

您必須滿足某些先決條件才能使用IronXL程式庫從Excel文件寫入到資料庫。 這些條件包括:

  • 在您的電腦上安裝Visual Studio以建立C#專案。
  • 在建立C#專案之前,確保您的系統上也安裝了ASP.NET。
  • 在您的系統上安裝IronXL程式庫以匯出資料。 您可以從Visual Studio的NuGet Package Manager中下載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:選擇基於服務的資料庫 選擇基於服務的資料庫

然後,在方案資源管理器中右鍵點擊新建立的資料庫並選擇"打開"。 這將開啟一個新的側邊欄。

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

在新的側邊欄中,點擊您的資料庫並前往其屬性。 從那裡,複製連接字串。

如何在C#中讀取Excel資料並插入到資料庫表格中,圖11:右鍵點擊並選擇屬性 右鍵點擊並選擇屬性

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

複製連接偏好後,點擊您的資料庫實例以打開新列表。右鍵點擊表格資料夾並選擇"新增表格"。

如何在C#中讀取Excel資料並插入到資料庫表格中,圖13:新增表格 新增表格

要在資料庫中建立新表格,請遵循以下步驟:

  1. 打開一個新的資料表設計頁。
  2. 新增以下SQL查詢,這將建立一個具有三列的新表格:Id, Name, 和 Number
  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資料庫中的步驟。 它還簡要介紹了IronXL程式庫,討論了插入資料所需的先決條件,並描述了如何在Visual Studio中建立新專案,安裝IronXL,以及配置SQL Server資料庫。 請參閱以下教程以了解如何在C#中讀取Excel文件

此外,IronXL還提供包括支援單元格格式設置的進階功能,如文字對齊,字體大小,顏色凍結格線新增公式應用條件格式密碼加密等。

使用者還可以從中受益,這是一個包含IronPDF、IronOCR、IronXL、IronBarcode和IronWebScraper的軟體開發工具集合。

常見問題

我如何使用C#從Excel文件中讀取資料?

您可以使用IronXL在C#中讀取Excel文件中的資料。IronXL提供開啟和閱讀Excel文件的方法,允許您以程式方式存取和操作資料。

在C#中將Excel資料插入SQL資料庫的步驟是什麼?

要使用C#將Excel資料插入SQL資料庫,首先使用IronXL讀取資料並將其轉換為DataSet。然後,使用SqlDataAdapter更新使用DataSet的SQL資料庫表。

我如何建立一個新的資料庫表來匯入Excel資料?

您可以執行類似CREATE TABLE [dbo].[Table] ( [Id] INT NOT NULL PRIMARY KEY, [Name] VARCHAR(100) NOT NULL, [Number] INT )的SQL查詢來建立新資料庫表,以定義表結構。

在C#專案中使用IronXL的先決條件有哪些?

先決條件包括安裝Visual Studio,從NuGet包管理器安裝IronXL程式庫,以及在Visual Studio環境中配置SQL Server。

我如何驗證Excel資料已成功插入資料庫?

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

IronXL提供哪些進階功能?

IronXL提供進階功能,如圖表建立、資料可視化、單元格格式化、凍結窗格、新增公式、條件格式化和使用密碼加密。

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

您可以使用NuGet包管理器在Visual Studio專案中安裝IronXL,搜尋並安裝IronXL,或者在Visual Studio命令行中執行Install-Package IronXL

為什麼要使用IronXL在Excel與SQL資料庫之間進行資料轉移?

使用IronXL在Excel與SQL資料庫之間進行資料轉移可自動化過程,確保資料準確性並節省時間,同時保持資訊的即時性。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話