使用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 Framework 被称为IronXL为方便处理用 C#、VB.NET、Visual Basic 及其他 .NET 语言编写的 Excel 文件,我们创建了《Excel......》。 它与 XLS 和 XLSX 文件格式兼容。 该库可使开发人员更轻松、更快速地编写、读取、编辑和生成 Excel 电子表格。 还可提供大量工具和功能。

IronXL 的主要特点和功能包括

  • 数据处理:IronXL.Excel 可以轻松读取、写入和处理 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).
  • 实用性:通过提供简单明了的 API 以及易于理解的属性和函数,该库使具有不同程度经验的开发人员更容易使用 Excel 相关活动。
  • 数据提取和导出:IronXL.Excel 可方便地从 Excel 文件中提取数据,并将 Excel 数据导出为多种格式,使其与数据库和其他系统的接口变得简单。
  • 文档和支持:IronXL.Excel 提供了丰富的文档、教程和支持,以帮助开发人员使用其库完成 Excel 相关任务。
  • 自动化和高效:通过自动化 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())
        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 从 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 对象库,被软件开发、金融、数据分析和报告等多个行业广泛使用。 它是企业和开发人员使用 Excel 最大化其业务的必备工具。 IronXL.Excel 允许创建动态的、以数据为中心的应用程序,可以高效地以编程方式管理 Excel 文件。

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

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

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

免费NuGet下载 总下载量: 1,086,940 查看许可证 >