如何在VB.NET中將Excel檔案匯入SQL資料庫
SQL 資料庫和 Excel 是兩種有效的管理和分析工具,它們各自具有特殊的功能和效能。
Excel
Excel是微軟公司開發的一款受歡迎的電子表格程式。 它憑藉其用戶友好的介面以及在管理不同數據組織、計算、分析和視覺化活動方面的適應性,贏得了良好的聲譽。 使用者可以將數據輸入到按行和列排列的 Excel 工作表單元格中,執行數學運算,並產生圖表、圖形和數據透視表來匯總和分析數據,或從 Excel 匯入數據。 Excel 是一款被個人、公司和組織廣泛使用的工具,用於財務分析、庫存管理、報告和預算等多種用途。
SQL
結構化資料使用支援 SQL(結構化查詢語言)的資料庫進行儲存、管理和檢索。 它們的基礎是關係模型,由具有行和列的表組成。 使用者可以使用 SQL 命令和 SQL 資料庫(例如 MySQL、PostgreSQL、SQL Server 和 SQLite)來建立、修改和查詢資料庫。這些資料庫提供強大的資料檢索和操作能力、可擴展性和完整性保證。
在本文中,我們將了解 VB.NET 如何在不使用 Microsoft.ACE.OLEDB.12.0 提供者的情況下將 Excel 檔案匯入 SQL Server 資料庫表。
如何使用 VB.NET 將 Excel 檔案匯入 SQL 資料庫
- 建立一個新的 Visual Studio 專案。
- 安裝所需的庫。
- 現在,我們可以匯入 Excel 檔案並將其轉換為資料表或檢索資料。
- 連接到 SQL 資料庫。
- 將匯入的資料儲存到資料庫表中。
- 關閉 SQL 連線並釋放物件。
IronXL是什麼?
為了方便處理用 C#、VB.NET、Visual Basic 和其他 .NET 語言編寫的 Excel 文件,創建了一個名為IronXL的強大的 .NET 框架。 它相容於 XLS 和 XLSX 檔案格式。 該程式庫使開發人員能夠更輕鬆快速地編寫、讀取、編輯和生成 Excel 電子表格。 此外,也提供種類繁多的工具和功能。
IronXL 的主要特性和功能包括:
-資料處理: IronXL 讓讀取、寫入和操作 Excel 電子表格中的資料變得容易。 可以使用二維數組來檢索單元格,並且可以進行計算、公式和資料格式化。
- Excel 檔案建立和修改:除了建立新的 Excel 檔案和修改現有的檔案外,開發人員還可以新增、刪除和管理工作表。 它們還可以與許多 Excel 組件配合使用。 -跨平台相容性: IronXL 可用於各種應用場景,並且由於其跨平台互通性,與多個 .NET 平台(包括 Xamarin、.NET Core 和 .NET Framework)相容。 -多功能性和相容性:它支援較舊的 XLS 和較新的 XLSX Excel 格式,並且與多個 Excel 版本相容。 -支援傳統和現代 Excel 格式:它既支援更現代的基於 XML 的格式(XLSX,可追溯到 Excel 2007),也支援更傳統的 Excel 文件格式(XLS,可追溯到 Excel 97-2003)。 -實用性:該程式庫透過提供簡單易懂的屬性和函數的 API,使不同經驗水平的開發人員更容易進行與 Excel 相關的活動。 -資料擷取與匯出: IronXL 可輕鬆從 Excel 檔案中擷取數據,並將 Excel 資料匯出為多種格式,從而簡化與資料庫和其他系統的介面。 -文件和支援: IronXL 提供豐富的文件、教學和支持,以幫助開發人員使用其庫執行與 Excel 相關的任務。 -自動化和效率: IronXL 透過自動化 Excel 任務,使用戶能夠提高生產力,減少人工勞動時間,並開發資料驅動的高效應用程式。 -整合和自訂:它提供了將 Excel 資料匯出為各種格式的選擇,從而更容易創建個人化報告或資料驅動的解決方案。 它也能很好地與資料庫和其他系統配合使用。
金融、數據分析、報告、商業智慧和軟體開發只是 IronXL 被應用的眾多領域中的幾個。 它使開發人員能夠以程式設計方式處理 Excel 文件,並產生將 Excel 整合與資料處理相結合的可靠解決方案。 點擊此處了解更多。
建立一個新的 Visual Studio 項目
建立 Visual Studio 控制台專案非常簡單。 若要在 Visual Studio 中建立控制台應用程式,請依照下列步驟操作:
1.啟動 Visual Studio:開啟 Visual Studio(確保您的電腦已安裝 Visual Studio)。
開始新項目
選擇"檔案" ,然後選擇"新建" ,再選擇"專案" 。
如何在VB.NET中將Excel檔案匯入SQL資料庫:圖1 - 控制台應用程式
在"建立新專案"方塊的左側面板中選擇您喜歡的程式語言,例如 C#。
接下來,從可用的項目範本清單中,選擇"控制台應用程式"或"控制台應用程式 (.NET Core)"範本。
請在"名稱"欄中填寫項目名稱。
如何在 VB.NET 中將 Excel 檔案匯入 SQL 資料庫:圖 2 - 專案配置
選擇項目保存位置。
要開始一個新的控制台應用程式項目,請按一下"建立" 。
安裝 IronXL 庫
若要安裝 IronXL 庫,請依照下列步驟操作:
- 透過前往"工具">"NuGet 套件管理器">"套件管理器控制台"開啟 NuGet 套件管理器控制台。
- 使用以下指令安裝 IronXL 函式庫:
Install-Package IronXL.Excel
如何在 VB.NET 中將 Excel 檔案匯入 SQL 資料庫:圖 4 - 安裝 IronXL
或者,您也可以使用 NuGet 套件管理器安裝 IronXL 庫。 只需搜尋"IronXL"軟體包,然後從清單中選擇要下載的與 IronXL 關聯的 NuGet 軟體包。
將 IronXL 匯入並新增至 SQL 資料庫
這些程式可用於使用 IronXL 從 Excel 檔案匯入數據,然後使用 VB.NET 將其新增至 SQL 資料庫。 本範例示範如何使用 IronXL 讀取 Excel 檔案並將資料插入 SQL Server 資料庫。
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient
Module Program
Sub Main(args As String())
' Define the path to the Excel file
Dim excelFilePath As String = "Demo.xlsx"
' Define the connection string to connect to the SQL Server database
Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"
' Load the Excel file using IronXL
Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
' Set up the SQL connection
Using connection As New SqlConnection(connectionString)
connection.Open()
' Iterate through rows and insert data into SQL database
For Each row As DataRow In worksheet.ToDataTable().AsEnumerable()
' Extract cell data
Dim cellData As List(Of String) = New List(Of String)()
For Each cell In row.ItemArray
cellData.Add(cell.ToString())
Next
' Insert data into SQL database
InsertDataIntoSQL(connection, cellData)
Next
End Using
End Sub
' Method to insert data into SQL database
Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
' Define your SQL INSERT query
Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"
' Create a SqlCommand object with parameters
Using command As New SqlCommand(sqlQuery, connection)
' Set parameters (adjust as per your column names and data)
command.Parameters.AddWithValue("@Value1", data(0))
command.Parameters.AddWithValue("@Value2", data(1))
' Execute the SQL command
command.ExecuteNonQuery()
End Using
End Sub
End ModuleImports IronXL
Imports System.Data
Imports System.Data.SqlClient
Module Program
Sub Main(args As String())
' Define the path to the Excel file
Dim excelFilePath As String = "Demo.xlsx"
' Define the connection string to connect to the SQL Server database
Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"
' Load the Excel file using IronXL
Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
' Set up the SQL connection
Using connection As New SqlConnection(connectionString)
connection.Open()
' Iterate through rows and insert data into SQL database
For Each row As DataRow In worksheet.ToDataTable().AsEnumerable()
' Extract cell data
Dim cellData As List(Of String) = New List(Of String)()
For Each cell In row.ItemArray
cellData.Add(cell.ToString())
Next
' Insert data into SQL database
InsertDataIntoSQL(connection, cellData)
Next
End Using
End Sub
' Method to insert data into SQL database
Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
' Define your SQL INSERT query
Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"
' Create a SqlCommand object with parameters
Using command As New SqlCommand(sqlQuery, connection)
' Set parameters (adjust as per your column names and data)
command.Parameters.AddWithValue("@Value1", data(0))
command.Parameters.AddWithValue("@Value2", data(1))
' Execute the SQL command
command.ExecuteNonQuery()
End Using
End Sub
End ModuleIronXL 利用其 API 提供了一種便捷的方法來載入 Excel 檔案 ( WorkBook.Load ) 並擷取其內容,從而可以遍歷行和儲存格。 這段程式碼從 Excel 檔案匯入資料並插入 SQL 資料庫,利用資料結構和連接進行有效的資料處理。
如何在VB.NET中將Excel檔案匯入SQL資料庫:圖6 - Excel文件
接下來,程式使用連接字串和System.Data.SqlClient命名空間連接到 SQL Server 資料庫。 然後準備 SQL INSERT 查詢,將 Excel 資料插入到對應的 SQL 表中。 程式使用參數化 SQL 指令 ( SqlCommand ) 將 Excel 資料插入 SQL 資料庫,方法是將擷取的儲存格值對應到對應的 SQL 查詢參數,並使用command.ExecuteNonQuery()執行 INSERT 指令。
如何在VB.NET中將Excel檔案匯入SQL資料庫:圖7 - SQL Server
要了解更多代碼信息,請點擊這裡。
結論
IronXL 庫是一個 Excel 物件庫,被軟體開發、金融、數據分析和報告等多個行業廣泛使用。 對於希望利用 Excel 最大限度提高營運效率的企業和開發人員來說,它是必不可少的工具。 IronXL 允許創建動態的、以資料為中心的應用程序,以高效且程式化的方式管理 Excel 檔案。
總而言之,在 VB.NET 應用程式中使用 IronXL 可以實現從 Excel 檔案到 SQL 資料庫的無縫資料傳輸,從而在兩個平台上提供高效靈活的資料管理。 IronXL 提供免費的社群版,但對非商業用途有所限制。 付費版本起價極具競爭力,可透過訂閱或永久授權模式購買,並提供額外的功能、支援和完整的功能。 請造訪 IronXL 官方網站以獲取全面、最新的授權資訊。 有關 Iron Software 產品的更多信息,請訪問此鏈接。
常見問題解答
如何使用VB.NET將Excel資料匯入SQL Server資料庫?
您可以使用 VB.NET 和 IronXL 將 Excel 資料匯入 SQL Server 資料庫。首先,建立一個 Visual Studio 項目,透過 NuGet 套件管理器安裝 IronXL 庫,使用 IronXL 的 API 載入 Excel 文件,然後連接到 SQL 資料庫並將資料插入資料庫表。
在VB.NET中使用IronXL進行Excel檔案操作有哪些好處?
IronXL 為在 VB.NET 中處理 Excel 檔案提供了一個強大的解決方案,具備讀取、寫入和編輯 Excel 檔案等功能。它同時支援 XLS 和 XLSX 格式,並確保跨平台相容性,使其成為與 SQL 資料庫無縫資料整合的理想選擇。
我可以使用 IronXL 從 Excel 檔案中提取和匯出資料嗎?
是的,IronXL 允許開發人員有效率地從 Excel 檔案中提取和匯出資料。它支援讀取特定單元格值、遍歷行和列以及將資料匯出為其他格式或資料庫(例如 SQL Server)等操作。
在VB.NET專案中設定IronXL需要哪些步驟?
若要在 VB.NET 專案中設定 IronXL,請開啟 Visual Studio,造訪 NuGet 套件管理器控制台,然後執行命令Install-Package IronXL 。這將安裝以程式設計方式處理 Excel 檔案所需的程式庫。
是否有辦法在不同的 .NET 平台上使用 IronXL?
IronXL 的設計目標是跨平台,支援各種 .NET 環境,例如 Xamarin、.NET Core 和 .NET Framework。這可確保您可以在不同平台上使用 IronXL,而不會出現相容性問題。
IronXL為何成為Excel和SQL資料庫整合的熱門選擇?
IronXL 因其易用性、全面的 Excel 檔案操作功能以及與 SQL 資料庫的無縫整合而備受青睞。它簡化了 Excel 和 SQL 之間資料的導入匯出過程,從而提高了工作效率和資料管理效率。
IronXL 是否提供免費版本?如果提供免費版本,其功能有哪些限制?
IronXL 提供免費的社群版,供非商業用途使用,包含一些基本功能但有一定限制。如需更高級的功能和專屬支持,請購買付費版本。
IronXL如何處理不同的Excel檔案格式?
IronXL 同時支援傳統 (XLS) 和現代 (XLSX) Excel 檔案格式,使用戶能夠處理各種 Excel 檔案而不會出現相容性問題,從而能夠靈活地滿足各種資料處理需求。






