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.Excel for VB.NET 库

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

Install-Package IronXL.Excel

教程

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

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

2.1.创建 Excel 文件

让我们先创建一个工作簿:

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.创建工作表

创建工作簿后,可按如下步骤创建 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")

Here is the screenshot of our newly created Excel file sample.xlsx:

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


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

IronXl 还提供了一种简单的方法来读取 Excel (.xlsx) 文件。为此,只需获取 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.对数据执行函数

从 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 参考