如何在 VB .NET 中將 Excel 文件導入 SQL 資料庫
兩個有效的管理和分析工具是SQL資料庫和Excel,每個都有其特殊功能和能力。
Excel
Excel是由Microsoft建立的一個流行的電子表格程式。 它的使用者友好介面和在管理不同資料組織、計算、分析和可視化活動方面的適應性為其贏得聲譽。 使用者可以將資料輸入排列成行和列的Excel工作表單元格,執行數學運算,製作圖表、圖形和樞紐分析表來匯總和分析資料或從Excel導入資料。 Excel是個人、公司和組織廣泛使用的工具,用於財務分析、庫存管理、報告和預算等多種用途。
SQL
使用支持SQL(結構化查詢語言)的資料庫來儲存、管理和檢索結構化資料。 它們的基礎是關聯模型,由具有行和列的表組成。 使用者可以使用SQL命令建立、更改和查詢資料庫,SQL資料庫如MySQL、PostgreSQL、SQL Server和SQLite等,這些資料庫提供強大的資料檢索與操作能力,可伸縮性和完整性保證。
在這篇文章中,我們將看到如何在不使用Microsoft.ACE.OLEDB.12.0提供程式的情況下,在SQL Server資料庫表中導入VB.NET的Excel文件。
如何使用VB.NET將Excel文件導入SQL資料庫
- 新建一個Visual Studio項目。
- 安裝所需的程式庫。
- 現在,我們可以導入一個Excel文件並將其轉換為DataTable或檢索資料。
- 連接到SQL資料庫。
- 將導入的資料保存到資料庫表中。
- 關閉SQL連接並釋放物件。
什麼是IronXL
一個名為IronXL的強大.NET框架被建立出來,以促進處理用C#、VB.NET、Visual Basic和其他.NET語言編寫的Excel文件。 它相容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相關任務。
- 自動化和效率: 通過自動化Excel任務,IronXL使使用者能夠提高生產力,減少手工勞動,並開發資料驅動的高效應用程式。
- 整合和自定化: 它通過提供將Excel資料匯出到多種格式的選項,使建立個性化報告或資料驅動的解決方案變得更容易。 它與資料庫和其他系統配合良好。
IronXL被應用於金融、資料分析、報告、商業智能和軟體開發等眾多領域。 它使開發人員能夠以程式化的方式處理Excel文件,並製作將Excel整合與資料操作相結合的可靠解決方案。 點擊此處了解更多資訊。
建立一個新的Visual Studio專案
建立Visual Studio控制台項目很簡單。 要在Visual Studio中建立控制台應用程式,請按照以下步驟操作:
- 啟動Visual Studio: 打開Visual Studio(確保您的PC已經安裝了Visual Studio)。
開始一個新項目
選擇文件,然後選擇新建,再選擇項目。

從"建立新項目"框的左側面板選擇您喜歡的程式語言,例如C#。
接下來,從可用的項目模板列表中選擇"控制台程式"或"控制台程式(.NET Core)"模板。
通過填寫"名稱"部分給您的項目命名。

選擇項目應保存的位置。
要開始新的控制台應用程式項目,單擊"建立"。

安裝IronXL程式庫
要安裝IronXL程式庫,請遵循以下步驟:
- 進入工具 > NuGet程式包管理器 > 程式包管理控制台打開NuGet程式包管理控制台。
- 使用以下命令安裝IronXL程式庫:
Install-Package IronXL.Excel

或者,您也可以使用NuGet程式包管理器安裝IronXL程式庫。 只需搜索包"IronXL",然後從列表中選擇您想要下載的與IronXL相關的NuGet包。

使用IronXL進行資料導入並新增到SQL資料庫
可以使用這些程式從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 Module
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 Module
IronXL通過其API提供了一種方便的方法來載入Excel文件(WorkBook.Load)並檢索其內容,允許迭代遍歷行和單元格。 此程式碼從Excel文件中導入資料並將其插入到SQL資料庫中,利用資料結構和連接進行有效的資料處理。

接下來,程式使用連接字串和System.Data.SqlClient命名空間連接到SQL Server資料庫。 然後準備SQL INSERT查詢,以便將Excel資料插入到對應的SQL表中。 程式使用參數化的SQL命令(command.ExecuteNonQuery()執行INSERT命令。

欲了解有關程式碼的更多資訊,請參閱此處。
結論
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檔案中而不會有相容性問題,使其適合於各種資料處理需求。




