如何在 C# 控制台应用程序中读取 Excel 文件
在软件开发中,处理Excel文件是一项常见任务,尤其是在处理数据操作和分析时。
在C#控制台应用程序中读取Excel文件是许多商业和数据处理场景中的常见任务。 Excel文件由于其表格数据结构,常用于存储和交换信息。
在C#应用程序中,IronXL提供了一个强大且用户友好的解决方案来处理Excel文件。 本文将指导您如何在C#控制台应用程序中使用IronXL库读取Excel文件。
如何在C#控制台应用程序中读取Excel文件
- 在Visual Studio中创建一个C#控制台应用程序
- 安装IronXL C# Excel库
- 创建一个Workbook类对象
- 使用Workbook.Load方法加载Excel文件
- 使用WorkSheets方法加载工作表
- 使用WorkSheet.Row方法读取Excel文件数据
- 遍历Cell值
- 在控制台窗口上打印Cell.Text
IronXL库介绍
IronXL是专为简化开发人员与Excel相关任务而设计的.NET库。 无论您需要创建、修改或读取Excel文件,IronXL都提供了一整套全面的功能。 IronXL简化了与Excel工作簿、工作表和单元格互动的过程。
使用IronXL,开发人员可以轻松地读写Excel文件中的数据,从而实现Excel功能与C#项目的无缝集成,无需安装Microsoft Office Interop或Excel。
通过利用IronXL的功能,开发人员可以操控单元格值,从Excel工作簿中提取数据,并动态生成Excel文档。 凭借直观的API和强大的功能集,IronXL使开发人员能够高效处理Excel数据,使得如数据分析、报告和文档生成等任务变得轻而易举。
无论您在处理Microsoft Excel文件、电子表格还是工作表,IronXL都为您提供了简化C#应用程序开发过程所需的工具。
IronXL的特点
在继续之前,让我们突出一些IronXL的关键功能:
- 创建和编辑Excel文件:IronXL支持Excel文件的创建和修改,允许开发人员操控工作表、单元格和格式。
- 读取Excel文件:该库有助于从现有Excel文件中提取数据,在.NET应用程序中轻松读取和处理Excel电子表格数据。
- 导出到Excel:IronXL允许将应用程序中的数据导出为Excel格式,确保与其他工具和平台的兼容性。
- 公式和函数:对Excel公式和函数的支持允许动态计算和数据操作。
- 单元格格式化:IronXL提供格式化单元格的功能,包括样式、字体、颜色和边框。
使用Visual Studio创建控制台应用程序
我们从在Visual Studio中创建一个新的C#控制台应用程序开始。
- 打开 Visual Studio。
- 选择"创建新项目"。

- 在C#模板下选择"控制台应用程序"。

- 为项目提供一个名称,然后点击"下一步"。

- 设置合适的.NET Framework,然后点击"创建"。

通过NuGet包管理器控制台或解决方案安装IronXL
现在我们有了控制台应用程序,接下来需要安装IronXL库。
选项1:使用NuGet包管理器控制台
Install-Package IronXL.Excel
选项2:在Visual Studio中使用NuGet包管理器
- 在解决方案资源管理器中右键单击您的项目。
- 选择"管理NuGet包"。
- 搜索"IronXL"并点击"安装"。

使用IronXL读取Excel文件的步骤
现在,让我们看看如何在C#控制台应用程序中使用IronXL读取Excel文件。 以下代码片段允许您在C#控制台应用程序中读取Excel文件。
using IronXL;
class Program
{
public static void Main()
{
// Specify the path to the Excel file
string excelFilePath = "path/to/your/excel/file.xlsx";
// Load the Excel file in a using block to automatically dispose resources
using (WorkBook workBook = WorkBook.Load(excelFilePath))
{
// Access the first worksheet in the workbook
WorkSheet workSheet = workBook.WorkSheets[0];
// Iterate through each row in the worksheet
foreach (var row in workSheet.Rows)
{
// Iterate through each cell in the row
foreach (var cell in row)
{
// Print the text of the cell followed by a tab
Console.Write(cell.Text + "\t");
}
// Move to the next line after each row
Console.WriteLine();
}
} // WorkBook is automatically disposed here
}
}
using IronXL;
class Program
{
public static void Main()
{
// Specify the path to the Excel file
string excelFilePath = "path/to/your/excel/file.xlsx";
// Load the Excel file in a using block to automatically dispose resources
using (WorkBook workBook = WorkBook.Load(excelFilePath))
{
// Access the first worksheet in the workbook
WorkSheet workSheet = workBook.WorkSheets[0];
// Iterate through each row in the worksheet
foreach (var row in workSheet.Rows)
{
// Iterate through each cell in the row
foreach (var cell in row)
{
// Print the text of the cell followed by a tab
Console.Write(cell.Text + "\t");
}
// Move to the next line after each row
Console.WriteLine();
}
} // WorkBook is automatically disposed here
}
}
Imports IronXL
Module Program
Public Sub Main()
' Specify the path to the Excel file
Dim excelFilePath As String = "path/to/your/excel/file.xlsx"
' Load the Excel file in a using block to automatically dispose resources
Using workBook As WorkBook = WorkBook.Load(excelFilePath)
' Access the first worksheet in the workbook
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Iterate through each row in the worksheet
For Each row In workSheet.Rows
' Iterate through each cell in the row
For Each cell In row
' Print the text of the cell followed by a tab
Console.Write(cell.Text & vbTab)
Next
' Move to the next line after each row
Console.WriteLine()
Next
End Using ' WorkBook is automatically disposed here
End Sub
End Module
这个C#代码片段演示了如何使用IronXL库从Excel文件中读取数据并在控制台应用程序中显示。 将读取并显示在控制台窗口的Excel文件如下所示:

现在,让我们一步步解析代码。
导入IronXL命名空间
using IronXL;
using IronXL;
Imports IronXL
这一行导入了IronXL命名空间,其中包含用于处理任何Excel文档的类和方法。
Main方法
public static void Main() {
// Main method where the program execution begins
}
public static void Main() {
// Main method where the program execution begins
}
Public Shared Sub Main()
' Main method where the program execution begins
End Sub
Main方法是应用程序的入口点。 我们将在这个Main方法中编写上述代码片段。
Excel文件路径
string excelFilePath = "path/to/your/excel/file.xlsx";
string excelFilePath = "path/to/your/excel/file.xlsx";
Dim excelFilePath As String = "path/to/your/excel/file.xlsx"
这一行指定了要读取的Excel文件的路径。 将"path/to/your/excel/file.xlsx"替换为Excel文件的实际路径。
加载Excel文件
using (WorkBook workBook = WorkBook.Load(excelFilePath))
using (WorkBook workBook = WorkBook.Load(excelFilePath))
使用WorkBook.Load()方法加载由excelFilePath指定的Excel文件到命名为workBook的WorkBook(Excel)对象中。 将其包装在 using 块中,可确保在不再需要工作簿时正确释放它,因为 WorkBook 实现了 IDisposable。
访问工作表
WorkSheet workSheet = workBook.WorkSheets[0];
WorkSheet workSheet = workBook.WorkSheets[0];
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
这一行访问工作簿中的第一个Excel工作表(workBook.WorkSheets [0]),并将其赋给一个命名为workSheet的Excel WorkSheet对象。
遍历行和列
foreach (var row in workSheet.Rows)
{
foreach (var cell in row)
{
Console.Write(cell.Text + "\t");
}
Console.WriteLine();
}
foreach (var row in workSheet.Rows)
{
foreach (var cell in row)
{
Console.Write(cell.Text + "\t");
}
Console.WriteLine();
}
Imports Microsoft.VisualBasic
For Each row In workSheet.Rows
For Each cell In row
Console.Write(cell.Text & vbTab)
Next cell
Console.WriteLine()
Next row
这些嵌套的foreach循环遍历工作表中的每一行和列。 对于每个单元格,打印单元格的文本值(cell.Text)到控制台,并在后面添加一个制表符(" ")。 打印完一行中的所有单元格后,打印一个换行符以移至下一行。
处理工作簿
using (WorkBook workBook = WorkBook.Load(excelFilePath))
{
// Work with the workbook here
} // WorkBook is automatically disposed here
using (WorkBook workBook = WorkBook.Load(excelFilePath))
{
// Work with the workbook here
} // WorkBook is automatically disposed here
Imports System
Using workBook As WorkBook = WorkBook.Load(excelFilePath)
' Work with the workbook here
End Using ' WorkBook is automatically disposed here
由于 WorkBook 实现了 IDisposable,因此 using 代码块会在执行离开代码块时自动释放工作簿和所有相关资源。
有关更多工作代码示例,请访问此代码示例页面。
输出
运行该应用程序后,Excel文件中的数据将打印在控制台窗口上。

结论
在本教程中,我们探讨了使用IronXL库在C#控制台应用程序中读取Excel文件的过程。 凭借直观的功能,IronXL简化了与Excel相关的任务,使其成为.NET开发人员在数据中心应用程序中的有用工具。
您可以通过访问此文档页面,探索由IronXL提供的其他功能,以进行更高级的Excel操作。
IronXL提供了一免费试用,以便在做出明智决策之前测试其完整功能。 对于商业用途,您需要购买从 $799 开始的许可证密钥。
常见问题解答
如何在 C# 控制台应用程序中读取 Excel 文件?
您可以通过使用 IronXL 库在 C# 控制台应用程序中读取 Excel 文件。首先在 Visual Studio 中创建一个控制台应用程序,然后通过 NuGet 安装 IronXL。使用 Workbook.Load 方法加载 Excel 文件、访问工作表,并遍历行和单元格来读取数据。
在 Visual Studio 中设置 IronXL 包含哪些步骤?
要在 Visual Studio 中设置 IronXL,首先创建一个新的 C# 控制台应用程序。然后,打开 NuGet 包管理器控制台并运行 Install-Package IronXL.Excel 来安装库。一旦安装,您就可以开始使用 IronXL 的功能来处理 Excel 文件。
我可以在没有安装 Microsoft Office 的情况下使用 IronXL 处理 Excel 文件吗?
是的,IronXL 允许您在系统上不需要安装 Microsoft Office 或 Excel 的情况下处理 Excel 文件。它独立运行,是一个处理 Excel 任务的方便解决方案。
如何使用 IronXL 访问 Excel 工作表中的特定数据?
在使用 Workbook.Load 加载 Excel 工作簿后,您可以通过 WorkSheets 属性访问特定的工作表。遍历行和单元格以访问特定数据,并使用 GetCellAt 等方法从特定单元格检索数据。
使用 IronXL 进行 Excel 操作在 C# 中有什么优势?
IronXL 通过提供易于加载和读取 Excel 文件、支持 Excel 公式以及数据导出功能,简化了 C# 中的 Excel 操作。它还允许格式化、编辑和创建 Excel 文件,无需 Microsoft Office。
如何使用IronXL删除 Excel 工作簿?
由于WorkBook实现了IDisposable ,因此请将其放在using代码块中。这样,当程序离开 using 代码块时,会自动释放 Workbook 并释放所有资源,从而确保高效的内存使用。
在购买许可之前,有办法测试 IronXL 吗?
是的,IronXL 提供了一个具有完整功能的免费试用版本。这允许您评估库并确保满足您的需求,然后再购买商业许可证。
在哪里可以找到 IronXL 的文档和示例?
您可以在其官方网站上找到 IronXL 的全面文档和示例代码。该资源提供了有关在项目中使用 IronXL 功能和能力的详细指导。


