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

如何在 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提供程式的情況下,將Excel文件導入SQL Server資料庫表。

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

  1. 新建一個 Visual Studio 项目。
  2. 安裝所需的庫。
  3. 現在,我們可以導入Excel文件並將其轉換為DataTable或檢索數據。
  4. 連接到SQL數據庫。
  5. 將導入的數據保存到資料庫表中。
  6. 關閉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文件中提取數據並將其導出到多種格式,方便與數據庫和其他系統的接口。
  • 文檔和支持:IronXL提供豐富的文檔、教程和支持,以協助開發人員使用其庫進行Excel相關的任務。
  • 自動化和效率:通過自動化Excel任務,IronXL使用戶更高效,並減少手動工作時間,並開發數據驅動的高效應用程序。
  • 集成與自定義:提供將Excel數據導出到多種格式的選擇,使創建個性化報告或數據驅動的解決方案變得更簡單。 也能很好的與數據庫和其他系統配合使用。

IronXL被用於許多領域如金融、數據分析、報告、商業智能和軟件開發。 它使開發者能夠以程式化方式處理Excel文件,並生成將Excel集成與數據操作相結合的可靠解決方案。 點擊這裡了解更多信息。

創建一個新的 Visual Studio 專案

創建一個Visual Studio控制台項目很容易。 要在Visual Studio中創建控制台應用程序,請按照以下步驟操作:

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

開始一個新項目

選擇文件,然後選擇新建,然後選擇項目

如何將Excel文件導入SQL數據庫(VB .NET): 圖1 - 控制台應用

在“新建項目”框的左側面板中選擇您偏好的編程語言,例如C#。

下一步,從可用項目模板列表中選擇“控制台應用”“控制台應用(.NET Core)”模板。

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

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

選擇項目應保存的位置。

要開始一個新的控制台應用程序項目,點擊“創建”

如何將Excel文件導入SQL數據庫(VB .NET): 圖3 - 創建控制台應用

安裝 IronXL 庫

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

  1. 通過導航到工具 > NuGet包管理器 > 包管理器控制台來打開NuGet包管理器控制台。
  2. 使用以下命令安裝IronXL庫:
Install-Package IronXL.Excel

如何將Excel文件導入SQL數據庫(VB .NET): 圖4 - 安裝IronXL

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

如何將Excel文件導入SQL數據庫(VB .NET): 圖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

使用其API,IronXL提供了一種方便的方法來加載Excel文件(WorkBook.Load)並檢索其內容,允許通過行和單元格進行迭代。 此代碼從Excel文件中導入數據並將其插入到SQL數據庫中,利用數據結構和連接進行有效的數據處理。

如何將Excel文件導入SQL數據庫(VB .NET): 圖6 - Excel文件

接下來,程序使用連接字符串和System.Data.SqlClient命名空間連接到SQL Server資料庫。 然後準備SQL INSERT查詢以將Excel數據插入到相應的SQL表中。 該程序使用參數化的SQL命令(SqlCommand)通過將檢索到的單元格值映射到適當的SQL查詢參數來將Excel數據插入到SQL數據庫中,並使用command.ExecuteNonQuery()執行INSERT命令。

如何將Excel文件導入SQL數據庫(VB .NET): 圖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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。