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 库
使用DLL 下载或NuGet获取 IronXL Excel for VB.NET 库。 IronXL 是我们在 VB.NET 项目中快速访问 Excel 数据的第一步,也是我们将在本教程中使用的工具(开发免费)。
Install-Package IronXL.Excel
操作指南
2. 使用 VB.NET 创建 Excel 文件
IronXL 提供了一种在 VB.NET 项目中创建 Excel ( .xlsx格式) 文件的最简单方法。 之后,我们可以插入数据,还可以设置单元格属性,例如字体样式或边框。
2.1 创建 Excel 文件
我们先来创建一个工作簿:
' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook以上代码用于创建一个新的Excel文件。默认情况下,其扩展名为.xlsx 。
2.2 创建 XLS 文件
如果您想创建扩展名为.xls文件,可以使用以下代码:
' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)2.3 创建工作表
创建工作簿后,可以按如下方式创建 Excel 工作表:
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")上述代码将在工作簿wb中创建一个名为Sheet1的新工作表ws1 。
2.4 创建多个工作表
可以用同样的方法创建任意数量的工作表:
' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")3. 将数据插入工作表
3.1. 将数据插入单元格
现在我们可以轻松地按如下方式将数据插入工作表单元格:
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"例如,可以将工作表ws1中的数据插入如下:
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"上述代码将在工作表ws1的A1单元格中写入Hello World 。
3.2. 将数据插入范围
也可以使用 range 函数将数据写入多个单元格,如下所示:
' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"3.3 创建和编辑工作表示例
我们将创建一个新的 Excel 文件Sample.xlsx ,并在其中插入一些数据,以展示我们上面学到的代码。
' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub注意:默认情况下,新的 Excel 文件将在项目的bin\Debug文件夹中创建。 如果要创建自定义路径下的新文件,请使用:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")wb.SaveAs(@"E:\IronXL\Sample.xlsx")以下是我们新建的Excel文件Sample.xlsx的屏幕截图:
很明显,在 VB.NET 应用程序中使用IronXL创建 Excel 文件是多么简单。
4. 在VB.NET中读取Excel文件
IronXL 还提供了一种简单的方法,可以在 VB .NET 项目中读取 Excel ( .xlsx ) 文件。 为此,只需获取 Excel 文档,将其加载到您的项目中,读取其数据,并根据您的需要使用它即可。
请遵循以下步骤:
4.1. 在项目中访问 Excel 文件
WorkBook是 IronXL 的一个类,其对象提供对 Excel 文件及其功能的完全访问权限。 例如,如果我们想访问 Excel 文件,只需使用:
' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path在上面的代码中, WorkBook.Load()函数将sample.xlsx加载到wb中。 通过访问 Excel 文件的特定工作表,可以对wb执行任何类型的功能。
4.2. 访问特定工作表
要访问 Excel 中的特定工作表,可以使用WorkSheet类,该类可以通过以下几种不同的方式使用:
按图纸名称
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name按页索引
' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index默认工作表
' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet第一页
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet获取 Excel 表格ws后,您可以从 Excel 文件的相应工作表中获取任何类型的数据,并执行所有 Excel 功能。
5. 从工作表中访问数据
可以通过以下方式从 Excel 表格ws访问数据:
' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string5.1. 特定列的数据
也可以通过以下方式从特定列的多个单元格中获取数据:
' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell它将显示单元格A2到A10中的值。 下面给出上述讨论的代码示例。
' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
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 工作表中访问筛选后的数据,方法如下:
' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()' Aggregate functions on a range of data
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聚合函数的信息。
' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
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的信息。
教程快速访问
常见问题解答
如何在VB.NET中读取Excel文件而不使用Interop?
要在VB.NET中读取Excel文件而不使用Interop,可以使用IronXL的WorkBook.Load方法加载文件。加载后,可以使用WorkSheet类从特定工作表中访问数据。
在VB.NET中创建Excel文件的步骤是什么?
在VB.NET中,使用IronXL创建Excel文件时,首先实例化一个新的WorkBook对象。使用CreateWorkSheet方法添加工作表,并通过设置单元格值填充数据。
在VB.NET中是否可以处理不同格式的Excel文件?
是的,在VB.NET中使用IronXL时,可以在.xls、.xlsx、.csv和.tsv等格式中创建和操作Excel文件。
我如何在VB.NET中对Excel数据进行计算?
IronXL允许您直接对单元格范围执行计算,如总和、最小值和最大值。例如,使用ws('A1:A10').Sum()计算该范围内值的总和。
我可以在VB.NET中使用Excel工作表中的特定单元格插入数据吗?
是的,在VB.NET中使用IronXL,您可以通过设置单元格的Value属性来向特定单元格插入数据,例如ws1('A1').Value = 'Hello World'。
我如何在VB.NET中将Excel工作簿保存到特定路径?
要使用IronXL将Excel工作簿保存到特定路径,请使用SaveAs方法和所需的文件路径,例如wb.SaveAs('E:\IronXL\Sample.xlsx')。
我在哪里可以下载适用于VB.NET开发的Excel库?
您可以通过运行命令dotnet add package IronXL.Excel通过NuGet下载IronXL Excel库,或通过从IronXL网站下载DLL。
我可以在一个Excel文件中创建多个工作表吗?
是的,在VB.NET中使用IronXL,您可以通过在WorkBook对象上多次调用CreateWorkSheet方法,在单个Excel文件中创建多个工作表。
如何在VB.NET中通过名称或索引访问Excel文件中的特定工作表?
在VB.NET中使用IronXL,您可以使用wb.GetWorkSheet('SheetName')按名称访问工作表,或使用wb.WorkSheets(index)按索引访问。
默认情况下,使用IronXL在VB.NET中创建的Excel文件保存在哪里?
默认情况下,使用IronXL在VB.NET中创建的Excel文件将保存在项目的'bin\Debug'文件夹中,除非使用SaveAs方法指定了不同的路径。











