VB .NET 读取与创建 Excel 文件(代码示例教程)

This article was translated from English: Does it need improvement?
Translated
View the article in English

开发者需要一种流畅简单的方法来访问 VB .NET Excel 文件。 在本教程中,我们将使用IronXL来读取VB dotnet Excel文件,并获取所有数据以供我们的项目使用。 我们将学习如何创建各种格式的电子表格。(.xls"、".xlsx"、".csv "和".tsv)此外,还可以使用 VB.NET Excel 编程设置单元格样式和插入数据。


步骤 1

1. 适用于 VB.NET 的 Excel 库

获取使用 VB.NET 库的 IronXL ExcelDLL 下载NuGet. IronXL是我们在VB.NET项目中快速访问Excel数据的第一步,也是我们在本教程中将要使用的工具。(免费开发).

Install-Package IronXL.Excel

教程

2. 在VB.NET中创建Excel文件

IronXL提供了创建Excel的最简单方法(.xlsx "格式)在VB.NET项目中的文件。 之后,我们可以插入数据并设置单元格属性,如字体样式或边框。

2.1. 创建Excel文件

首先创建一个WorkBook:

Dim wb As New WorkBook
Dim wb As New WorkBook
VB.NET

上述代码用于创建一个新的 Excel 文件。默认情况下,其扩展名为 .xlsx

2.2. 创建 XLS 文件

如果您想创建一个.xls扩展名的文件,那么可以使用这段代码。

Dim wb As New WorkBook(ExcelFileFormat.XLS)
Dim wb As New WorkBook(ExcelFileFormat.XLS)
VB.NET

2.3. 创建工作表

在创建WorkBook之后,可以按以下方式创建Excel工作表:

Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
VB.NET

上述代码将在工作簿 wb 中创建名称为 sheet1 的新工作表 ws1

2.4. 创建多个工作表

可以用相同的方式创建任意数量的工作表:

Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
VB.NET

3.将数据插入工作表

3.1. 将数据插入单元格

现在我们可以轻松地将数据插入到工作表单元格中,如下所示:

 worksheet("CellAddress").Value = "MyValue"
 worksheet("CellAddress").Value = "MyValue"
VB.NET

例如,工作表 ws1 中的数据可以按以下方式插入:

ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
VB.NET

上述代码将在工作表 ws1A1 单元格中写入 Hello World

3.2. 将数据插入范围

也可以使用范围函数将数据写入多个单元格,如下所示:

ws1("A3:A8").Value = "NewValue"
ws1("A3:A8").Value = "NewValue"
VB.NET

上述代码将从工作表 ws1 中的 A3A8 单元格写入 NewValue

3.3. 创建和编辑工作表示例

我们将创建一个新的Excel文件Sample.xlsx并在其中插入一些数据,以展示我们上面学到的代码。

/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
    Dim wb As New WorkBook(ExcelFileFormat.XLSX)
    Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
    ws1("A1").Value = "Hello"
    ws1("A2").Value = "World"
    ws1("B1:B8").Value = "RangeValue"
    wb.SaveAs("Sample.xlsx")
End Sub
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
    Dim wb As New WorkBook(ExcelFileFormat.XLSX)
    Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
    ws1("A1").Value = "Hello"
    ws1("A2").Value = "World"
    ws1("B1:B8").Value = "RangeValue"
    wb.SaveAs("Sample.xlsx")
End Sub
VB.NET

注意:默认情况下,新的 Excel 文件将在项目的 bin>Debug 文件夹中创建。如果我们想在自定义路径中创建新文件,则: wb.SaveAs(@"E:\IronXL\Sample.xlsx")

这是我们新创建的Excel文件sample.xlsx的屏幕截图:

由此可见,在 VB.NET 应用程序中使用 IronXL 创建 Excel 文件是多么简单。


4. 在VB.NET中读取Excel文件

IronXL还提供了一种简单的方法来读取Excel(.xlsx)在您的 VB dotnet 项目中的文件。 为此,只需获取Excel文档,将其加载到您的项目中,读取其数据,并根据您的需求使用它。

遵循以下步骤:

4.1. 访问项目中的Excel文件

WorkBook 是 IronXL 的一个类,其对象提供对 Excel 文件及其功能的完全访问权限。 例如,如果我们想要访问Excel文件,我们只需使用:

WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
VB.NET

在上面的代码中,WorkBook.Load()wb中加载sample.xlsx文件。在Excel文件中,通过访问特定工作表可以对wb`执行任何类型的功能。

4.2. 访问特定工作表

要访问 Excel 中的特定工作表,请使用 WorkSheet 类,该类可以以下列不同方式使用:

4.2.1.按纸张名称

Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
VB.NET

wb "是上一节中声明的工作簿。

4.2.2.按纸张索引

 Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
 Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
VB.NET

4.2.3.默认工作表

Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet: 
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet: 
VB.NET

4.2.4.第一张

Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
VB.NET

4.2.1.第一页或默认页

Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
VB.NET

获取 Excel 工作表 ws 后,就可以从 Excel 文件的相应工作表中获取任何类型的数据,并执行所有 Excel 功能。


5. 访问工作表中的数据

可以通过以下方式从ExcelSheet ws 访问数据:

Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
VB.NET

5.1. 特定列的数据

也可以通过以下方式从特定列的多个单元格获取数据:

For Each cell In sheet("A2:A10")
    Console.WriteLine("value is: {0}", cell.Text)       
Next cell
For Each cell In sheet("A2:A10")
    Console.WriteLine("value is: {0}", cell.Text)       
Next cell
VB.NET

它将显示从单元格A2A10的值。 上述整个讨论的代码示例如下。

/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    For Each cell In ws("A2:A10")
        Console.WriteLine("value is: {0}", cell.Text)
    Next
    Console.ReadKey() 
End Sub
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    For Each cell In ws("A2:A10")
        Console.WriteLine("value is: {0}", cell.Text)
    Next
    Console.ReadKey() 
End Sub
VB.NET

这将显示以下输出:

我们可以看到 Excel 文件 Sample.xlsx 的截图:


6. 对数据执行功能

要通过应用聚合函数(如Sum、Min或Max)从Excel工作表中访问过滤数据,可以通过以下方式进行:

Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
VB.NET

您可以阅读更多关于Excel 汇总函数这里。

/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    Dim sum As Decimal = ws("G2:G10").Sum()
    Dim min As Decimal = ws("G2:G10").Min()
    Dim max As Decimal = ws("G2:G10").Max()
    Console.WriteLine("Sum is: {0}", sum)
    Console.WriteLine("Min is: {0}", min)
    Console.WriteLine("Max is: {0}", max)
    Console.ReadKey()
End Sub
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    Dim sum As Decimal = ws("G2:G10").Sum()
    Dim min As Decimal = ws("G2:G10").Min()
    Dim max As Decimal = ws("G2:G10").Max()
    Console.WriteLine("Sum is: {0}", sum)
    Console.WriteLine("Min is: {0}", min)
    Console.WriteLine("Max is: {0}", max)
    Console.ReadKey()
End Sub
VB.NET

这段代码将为我们提供这样的显示:

还有这个 Excel 文件 Sample.xlsx

您可以进一步了解如何阅读Excel在链接的文章中。


教程快速访问

文档 API 参考

访问 IronXL 的文档 API 参考以及在 VB.NET 项目中使用 Excel 的简单方法。查找功能、函数、类等列表。

文档 API 参考