VB .NET 读取与创建 Excel 文件(代码示例教程)
开发者需要一种流畅简单的方法来访问 VB .NET Excel 文件。 在本教程中,我们将使用IronXL来读取VB dotnet Excel文件,并获取所有数据以供我们的项目使用。 我们将学习如何创建各种格式的电子表格。(.xls"、".xlsx"、".csv "和".tsv)此外,还可以使用 VB.NET Excel 编程设置单元格样式和插入数据。
如何在 VB.NET 中读取 Excel 文件
- 下载 VB.NET 读取 Excel C# 库
- 在 VB.NET 中创建 Excel 文件
- 将数据插入工作表
- 在 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
上述代码用于创建一个新的 Excel 文件。默认情况下,其扩展名为 .xlsx
。
2.2. 创建 XLS 文件
如果您想创建一个.xls
扩展名的文件,那么可以使用这段代码。
Dim wb As New WorkBook(ExcelFileFormat.XLS)
Dim wb As New WorkBook(ExcelFileFormat.XLS)
2.3. 创建工作表
在创建WorkBook之后,可以按以下方式创建Excel工作表:
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
上述代码将在工作簿 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")
3.将数据插入工作表
3.1. 将数据插入单元格
现在我们可以轻松地将数据插入到工作表单元格中,如下所示:
worksheet("CellAddress").Value = "MyValue"
worksheet("CellAddress").Value = "MyValue"
例如,工作表 ws1
中的数据可以按以下方式插入:
ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
上述代码将在工作表 ws1
的 A1
单元格中写入 Hello World
。
3.2. 将数据插入范围
也可以使用范围函数将数据写入多个单元格,如下所示:
ws1("A3:A8").Value = "NewValue"
ws1("A3:A8").Value = "NewValue"
上述代码将从工作表 ws1
中的 A3
至 A8
单元格写入 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
注意:默认情况下,新的 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
在上面的代码中,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
wb "是上一节中声明的工作簿。
4.2.2.按纸张索引
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
4.2.3.默认工作表
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
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:
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:
获取 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
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
它将显示从单元格A2
到A10
的值。 上述整个讨论的代码示例如下。
/**
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
这将显示以下输出:
我们可以看到 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()
您可以阅读更多关于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
这段代码将为我们提供这样的显示:
还有这个 Excel 文件 Sample.xlsx
:
您可以进一步了解如何阅读Excel在链接的文章中。