使用IRONXL

如何在 VB .NET 中將 Excel 文件導入 SQL 資料庫

發佈 2024年1月27日
分享:

介紹

兩個有效的管理和分析工具是 SQL 資料庫和 Excel,各自具有特殊的功能和能力。

Excel

Excel是由微軟開發的一款受歡迎的試算表程式。 其使用者友好的介面及在管理不同資料組織、計算、分析和視覺化活動方面的適應性為其贏得了聲譽。 使用者可以將資料輸入至按行和列排列的 Excel 工作表儲存格,執行數學運算,並製作圖表、圖形和樞紐分析表,以總結和分析資料或從 Excel 匯入資料。 Excel 是一個廣泛用於個人、公司和組織的工具,用於各種目的,如財務分析、庫存管理、報告和預算規劃。

SQL

結構化數據通過支持SQL的數據庫進行存儲、管理和檢索。(結構化查詢語言). 它們的基礎是關聯模型,並由包含行和列的表格組成。 使用者可以使用 SQL 指令和 SQL 資料庫(如 MySQL、PostgreSQL、SQL Server 和 SQLite)來建立、修改和查詢資料庫。這些資料庫提供強大的資料檢索和操作能力,可擴展性和完整性保證。

在本文中,我們將看到如何使用VB.NET將Excel文件導入SQL Server資料庫表,而不使用提供程序Microsoft.ACE.OLEDB.12.0。

如何使用 VB.NET 將 Excel 文件匯入 SQL 資料庫

  1. 創建一個新的 Visual Studio 專案。

  2. 安裝所需的庫。

  3. 現在我們可以匯入 Excel 文件並將其轉換為 DataTable 或檢索數據。

  4. 連接到 SQL 資料庫。

  5. 將匯入的數據保存到資料庫表中。

  6. 關閉 SQL 連接並釋放該物件。

IronXL 是什麼

一個強大的 .NET 框架,叫做IronXL旨在簡化處理以 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 格式:它可以支持更現代的基於 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 中建立主控台應用程式,請遵循以下步驟:

  1. 啟動 Visual Studio:打開 Visual Studio(確保您的電腦已安裝 Visual Studio).

開始新專案

選擇檔案,然後新建,接著選擇專案

如何在 VB .NET 中將 Excel 文件匯入 SQL 數據庫:圖 1 - 主控台應用程式

從「創建新專案」框的左側面板中選擇您偏好的程式設計語言,例如 C#。

接下來,從可用的專案範本列表中,選擇 「Console App」「Console App」(.NET Core)** 模板

通過填寫「名稱」部分為您的專案命名。

如何在 VB .NET 中將 Excel 文件導入 SQL 數據庫:圖 2 - 項目配置

選擇專案應儲存的位置。

若要開始一個新的控制台應用程式專案,請點選 「建立」

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

安裝 IronXL 函式庫

要安裝 IronXL 庫,請按照以下步驟操作:

  1. 打開 NuGet 套件管理器主控台,方法是前往 工具 > NuGet 套件管理員 > 套件管理器主控台

  2. 使用以下命令安裝IronXL庫:
Install-Package IronXL.Excel

如何在 VB .NET 中將 Excel 文件匯入 SQL 資料庫:圖四 - 安裝 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())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                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())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                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

使用其 API,IronXL 提供了一種方便的方法來加載 Excel 文件(WorkBook.Load)並檢索其內容,允許遍歷行和單元格(ExcelRowExcelCell 物件).

該程序使用IronXL從Excel文件中讀取數據,獲取每行的單元格值,並將其存儲在適當的數據結構中以供後續處理。

如何將 Excel 文件匯入 SQL 資料庫在 VB .NET 中:圖 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 提供免費的社群版,帶有非商業用途的限制。 付費版本,從 $749 起,提供訂閱或永續授權模式購買,並提供額外功能、支援和完整功能。 請訪問 IronXL 的官方網站網站有關全面且最新的授權資訊。 如需有關 Iron Software 產品的更多資訊,請造訪此連結.

< 上一頁
如何在C#中將Excel文件轉換為XML
下一個 >
如何在C#中將CSV導入到Datatable

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 1,136,001 查看許可證 >