使用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 版本相容。
  • 對舊版和現代 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#。

接下來,從可用的專案範本清單中,選擇 「主控台應用程式」 或 **「主控台應用程式」* (.NET Core)模板。

通過填寫“名稱”部分,為您的項目命名。

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

選擇專案應儲存的位置。

要開始一個新的控制台應用程式專案,按 "Create"

如何將 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.10 剛剛發布

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