使用IRONXL

如何在VB .NET中将Excel文件导入SQL数据库

发布 2024年一月27日
分享:

简介

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.安装所需的库。

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 文件外,开发人员还可以添加、删除和管理工作表。他们还可以使用许多 Excel 组件。
  • IronXL 可用于各种应用场景,并因其跨平台互操作性而兼容多种 .NET 平台,包括 Xamarin、.NET Core 和 .NET Framework。
  • 多功能性和兼容性:它同时支持较早的 XLS 和较新的 XLSX Excel 格式,并兼容多个 Excel 版本。
  • 支持传统和现代 Excel 格式:它既能支持较新的基于 XML 的格式 (XLSX,可追溯到 Excel 2007) 和更传统的 Excel 文件格式 (XLS,可追溯到 Excel 97-2003).
  • 实用性通过提供简单明了的应用程序接口以及易于理解的属性和函数,该库使具有不同程度经验的开发人员更容易使用 Excel 相关活动。
  • 数据提取和导出:IronXL 可方便地从 Excel 文件中提取数据,并将 Excel 数据导出为多种格式,从而简化了与数据库和其他系统的接口。
  • 文档和支持IronXL 提供丰富的文档、教程和支持,帮助开发人员使用其库完成 Excel 相关任务。
  • 自动化和高效:通过自动化 Excel 任务,IronXL 使用户能够提高工作效率,减少手工劳动时间,并开发数据驱动的高效应用程序。
  • 集成与定制:通过提供将 Excel 数据导出为各种格式的选择,IronXL 可以更轻松地创建个性化报表或数据驱动型解决方案。它还能与数据库和其他系统很好地配合使用。

融资、数据分析、报告、商业智能和软件开发只是使用 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())
        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

IronXL 利用其应用程序接口,提供了加载 Excel 文件的便捷方法 (工作簿载入) 并检索其内容,允许迭代行和单元格 (Excel 行 "和 "Excel 单元 "对象).

该程序使用 IronXL 从 Excel 文件中读取数据,检索每一行的单元格值,并将其存储到适当的数据结构中,以便以后处理。

如何在 VB .NET 中将 Excel 文件导入 SQL 数据库:图 6 - Excel 文件

接下来,程序会使用连接字符串和 "System.Data.SqlClient "命名空间连接到 SQL Server 数据库。然后准备 SQL INSERT 查询,将 Excel 数据插入相应的 SQL 表。程序使用参数化的 SQL 命令 (SqlCommand) 将检索到的单元格值映射到相应的 SQL 查询参数,然后使用 command.ExecuteNonQuery 执行 INSERT 命令,从而将 Excel 数据插入 SQL 数据库。().

如何在 VB .NET 中将 Excel 文件导入 SQL 数据库:图 7 - SQL 服务器

要了解有关代码的更多信息,请查看 这里.

结论

IronXL 库是一个 Excel 对象库,被多个行业广泛使用,包括软件开发、金融、数据分析和报表。它是企业和开发人员利用 Excel 最大限度地提高运营效率的必备工具。IronXL 允许创建动态的、以数据为中心的应用程序,从而高效地以编程方式管理 Excel 文件。

总之,在 VB.NET 应用程序中使用 IronXL,可以实现从 Excel 文件到 SQL 数据库的无缝数据传输,从而在两个平台上提供高效、灵活的数据管理。IronXL 提供免费的社区版,但仅限于非商业用途。付费版本起价为"$liteLicense",可通过订阅或永久许可模式购买,并提供附加功能、支持和完整的功能。请访问 IronXL 官方网站 网站 获取全面的最新许可信息。有关 Iron 软件产品的更多信息,请访问以下网站 链接.

< 前一页
如何在C#中将Excel文件转换为XML
下一步 >
如何在C#中将CSV导入到Datatable

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 988,189 查看许可证 >