跳過到頁腳內容
使用 IRONXL
如何在 VB NET 中將 Excel 文件導入到 SQL 資料庫

如何在 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 資料庫

  1. 建立一個新的 Visual Studio 專案。 2.安裝所需的函式庫。
  2. 現在,我們可以匯入 Excel 檔案並將其轉換為資料表或檢索資料。
  3. 連接到 SQL 資料庫。
  4. 將匯入的資料儲存到資料庫表中。
  5. 關閉 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 - 專案配置

選擇項目保存位置。

要開始一個新的控制台應用程式項目,請按一下"建立"

如何在VB.NET中將Excel檔案匯入SQL資料庫:圖3 - 建立控制台應用程式

安裝 IronXL 庫

若要安裝 IronXL 庫,請依照下列步驟操作:

  1. 透過前往"工具">"NuGet 套件管理器">"套件管理器控制台"開啟 NuGet 套件管理器控制台。
  2. 使用以下指令安裝 IronXL 函式庫:
Install-Package IronXL.Excel

如何在 VB.NET 中將 Excel 檔案匯入 SQL 資料庫:圖 4 - 安裝 IronXL

或者,您也可以使用 NuGet 套件管理器安裝 IronXL 庫。 只需搜尋"IronXL"軟體包,然後從清單中選擇要下載的與 IronXL 關聯的 NuGet 軟體包。

如何在VB.NET中將Excel檔案匯入SQL資料庫:圖5 - IronXL

將 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 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
VB .NET

IronXL 利用其 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 資料庫中?

你可以通過利用 IronXL 來使用 VB.NET 將 Excel 數據匯入到 SQL Server 資料庫中。首先,建立一個 Visual Studio 專案,通過 NuGet 封裝管理器安裝 IronXL 庫,使用 IronXL 的 API 載入 Excel 檔案,並連接到 SQL 資料庫以插入數據到資料庫表中。

使用 IronXL 在 VB.NET 中操作 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 檔案程序所需的庫。

IronXL 是否可以在不同的 .NET 平台上使用?

IronXL 被設計為跨平台,支持如 Xamarin、.NET Core 和 .NET Framework 等各種 .NET 環境。這確保你可以在不同的平台上使用 IronXL 而無需擔心兼容性問題。

是什么使 IronXL 成為 Excel 和 SQL 資料庫整合的熱門選擇?

IronXL 因其易用性、Excel 檔案操作的全面功能以及無縫整合 SQL 資料庫的能力而受到推崇。它簡化了在 Excel 和 SQL 之間進行數據的導入和匯出過程,提高了生產力和數據管理效率。

IronXL 是否提供免費版本?有哪些限制?

IronXL 提供了免費的社群版本(Community Edition)供非商業用途使用,其中包含了一些基本功能及限制。對於更高級的功能和專屬支持,則有付費版本可選。

IronXL 如何處理不同的 Excel 文件格式?

IronXL 支持舊的(XLS)和現代的(XLSX)Excel 文件格式,使用戶能夠在不擔心兼容性問題的情況下處理各類 Excel 文件,對於各種數據處理需求來說都是非常靈活的。

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