跳至页脚内容
使用 IRONXL

如何在 C# 控制台应用程序中读取 Excel 文件

在软件开发中,处理Excel文件是一项常见任务,尤其是在处理数据操作和分析时。

在C#控制台应用程序中读取Excel文件是许多商业和数据处理场景中的常见任务。 Excel文件由于其表格数据结构,常用于存储和交换信息。

在C#应用程序中,IronXL提供了一个强大且用户友好的解决方案来处理Excel文件。 本文将指导您如何在C#控制台应用程序中使用IronXL库读取Excel文件。

如何在C#控制台应用程序中读取Excel文件

  1. 在Visual Studio中创建一个C#控制台应用程序
  2. 安装IronXL C# Excel库
  3. 创建一个Workbook类对象
  4. 使用Workbook.Load方法加载Excel文件
  5. 使用WorkSheets方法加载工作表
  6. 使用WorkSheet.Row方法读取Excel文件数据
  7. 遍历Cell
  8. 在控制台窗口上打印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的关键功能:

  1. 创建和编辑Excel文件:IronXL支持Excel文件的创建和修改,允许开发人员操控工作表、单元格和格式。
  2. 读取Excel文件:该库有助于从现有Excel文件中提取数据,在.NET应用程序中轻松读取和处理Excel电子表格数据。
  3. 导出到Excel:IronXL允许将应用程序中的数据导出为Excel格式,确保与其他工具和平台的兼容性。
  4. 公式和函数:对Excel公式和函数的支持允许动态计算和数据操作。
  5. 单元格格式化:IronXL提供格式化单元格的功能,包括样式、字体、颜色和边框。

使用Visual Studio创建控制台应用程序

我们从在Visual Studio中创建一个新的C#控制台应用程序开始。

  1. 打开 Visual Studio。
  2. 选择"创建新项目"。

如何在C#控制台应用程序中读取Excel文件:图1

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

如何在C#控制台应用程序中读取Excel文件:图2

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

如何在C#控制台应用程序中读取Excel文件:图3

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

如何在C#控制台应用程序中读取Excel文件:图4

通过NuGet包管理器控制台或解决方案安装IronXL

现在我们有了控制台应用程序,接下来需要安装IronXL库。

选项1:使用NuGet包管理器控制台

Install-Package IronXL.Excel

选项2:在Visual Studio中使用NuGet包管理器

  1. 在解决方案资源管理器中右键单击您的项目。
  2. 选择"管理NuGet包"。
  3. 搜索"IronXL"并点击"安装"。

如何在C#控制台应用程序中读取Excel文件:图5

使用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";

        // Create a WorkBook object by loading an existing Excel file
        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();
        }

        // Close the workbook to free resources
        workBook.Close();
    }
}
using IronXL;

class Program
{
    public static void Main()
    {
        // Specify the path to the Excel file
        string excelFilePath = "path/to/your/excel/file.xlsx";

        // Create a WorkBook object by loading an existing Excel file
        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();
        }

        // Close the workbook to free resources
        workBook.Close();
    }
}
Imports Microsoft.VisualBasic
Imports IronXL

Friend Class Program
	Public Shared Sub Main()
		' Specify the path to the Excel file
		Dim excelFilePath As String = "path/to/your/excel/file.xlsx"

		' Create a WorkBook object by loading an existing Excel file
		Dim 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 cell
			' Move to the next line after each row
			Console.WriteLine()
		Next row

		' Close the workbook to free resources
		workBook.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

这个C#代码片段演示了如何使用IronXL库从Excel文件中读取数据并在控制台应用程序中显示。 将读取并显示在控制台窗口的Excel文件如下所示:

如何在C#控制台应用程序中读取Excel文件:图6

现在,让我们一步步解析代码。

导入IronXL命名空间

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

这一行导入了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
$vbLabelText   $csharpLabel

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"
$vbLabelText   $csharpLabel

这一行指定了要读取的Excel文件的路径。 将"path/to/your/excel/file.xlsx"替换为Excel文件的实际路径。

加载Excel文件

WorkBook workBook = WorkBook.Load(excelFilePath);
WorkBook workBook = WorkBook.Load(excelFilePath);
Dim workBook As WorkBook = WorkBook.Load(excelFilePath)
$vbLabelText   $csharpLabel

使用WorkBook.Load()方法加载由excelFilePath指定的Excel文件到命名为workBookWorkBook(Excel)对象中。

访问工作表

WorkSheet workSheet = workBook.WorkSheets[0];
WorkSheet workSheet = workBook.WorkSheets[0];
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
$vbLabelText   $csharpLabel

这一行访问工作簿中的第一个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
$vbLabelText   $csharpLabel

这些嵌套的foreach循环遍历工作表中的每一行和列。 对于每个单元格,打印单元格的文本值(cell.Text)到控制台,并在后面添加一个制表符(" ")。 打印完一行中的所有单元格后,打印一个换行符以移至下一行。

关闭工作簿

workBook.Close();
workBook.Close();
workBook.Close()
$vbLabelText   $csharpLabel

最后,调用workBook.Close()方法来关闭工作簿并释放与之关联的任何资源。

有关更多工作代码示例,请访问此代码示例页面。

输出

运行该应用程序后,Excel文件中的数据将打印在控制台窗口上。

如何在C#控制台应用程序中读取Excel文件:图7

结论

在本教程中,我们探讨了使用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.Close() 方法在 IronXL 中关闭 Excel 工作簿。这有助于释放资源并确保应用程序中高效的内存使用。

在购买许可之前,有办法测试 IronXL 吗?

是的,IronXL 提供了一个具有完整功能的免费试用版本。这允许您评估库并确保满足您的需求,然后再购买商业许可证。

在哪里可以找到 IronXL 的文档和示例?

您可以在其官方网站上找到 IronXL 的全面文档和示例代码。该资源提供了有关在项目中使用 IronXL 功能和能力的详细指导。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。