使用IRONXL

如何在C#中打开Excel文件

雷根·彭
雷根·彭
2023年三月19日
更新 2024年二月6日
分享:

本教程将使用 IronXL 作为在 C# 项目中打开和读取 Excel 文件的主要工具。

IronXL.Excel 库

IronXL 是一个.NET库,优先考虑用户的易用性、准确性和速度。 它可以帮助您以闪电般的速度打开、阅读、创建和编辑 Excel 文件,并且不会出现任何错误。 它无需 MS Office Interop 即可运行,是开发人员的强大工具。

IronXL 兼容所有 .NET Framework 以及 Linux、MacOS、Docker、Azure 和 AWS。 它可用于创建控制台、Web 和桌面应用程序,如用于现代 Web 应用程序的 Blazor 和 MAUI。它支持不同的工作簿格式,如 XLS 和 XLSX 文件、XSLT 和 XLSM、CSV 和 TSV。

IronXL 的一些重要功能

  • 打开、读取和搜索不同格式的数据(XLS/XLSX 文件/CSV/TSV)。
  • 将 Excel 工作表导出为 XLS/XLSX/CSV/TSV/JSON。
  • 加密 和解密带密码的 XLSX/XLSM/XLTX 文件。
  • 与 Excel 工作表作为System.Data.DataSetSystem.Data.DataTable对象一起使用。
  • 每次编辑工作表时,Excel 文件公式都会自动重新计算。
  • 轻松地编辑电子表格数据,使用直观的基于单元格范围的语法(例如,WorkSheet["A1:B10"])。
  • 排序单元格范围、列和行。
  • 单元格样式 - 字体、字体大小背景颜色边框,对齐方式和编号格式

如何用 C&num 打开 Excel 文件?

先决条件

要在 C# 应用程序中使用 IronXL,需要在本地计算机上安装这些组件:

  1. Visual Studio - 这是用于开发C# .NET应用程序的官方集成开发环境。 您可以从微软网站下载并安装Visual Studio。 您也可以使用Jetbrains ReSharper & Rider。

  2. IronXL - 这是一个Excel库,可帮助在C#中处理给定路径的Excel表格。 使用前必须将其安装到您的 C# 应用程序中。 可以从NuGet 网站或 Visual Studio 工具中的管理 NuGet 包下载。 您也可以直接下载.NET Excel DLL文件。

添加必要的命名空间

一旦安装了Visual Studio和IronXL,就需要在源代码中引用IronXL的命名空间。 在将使用 IronXL 功能的新项目中,在文件顶部添加以下一行代码:

//add reference
using IronXL;
//add reference
using IronXL;
'add reference
Imports IronXL
$vbLabelText   $csharpLabel

在 C# 中打开现有 Excel 文件;

Excel 文件也称为工作簿。 每个工作簿包含多个工作表,每个工作表包含单元格值。 要打开和读取Excel文件,应使用WorkBook类的Load方法加载。

//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
'Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText   $csharpLabel

这将在 WorkBook 实例引用变量中打开 Excel 文件。 它可以包含多个工作表,因此可以用于打开特定的WorkSheet或一次性打开所有工作表。 以下代码打开工作表实例变量中的第一个WorkSheet

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

这将打开 Excel 文件中的第一个工作表,现在可以读取数据并将其写入该工作表。

此处打开的 Excel 文件是

如何在 C# 中打开 Excel 文件,图 1: Excel 文件

Excel 文件

用 C# 阅读 Excel 文件;

Excel 文件打开后,就可以读取数据了。 使用 IronXL.Excel 在 C# 中读取 Excel 文件中的数据非常容易和简单。 您只需提及单元格参考编号即可读取单元格值。

以下代码从文件中检索单元格的值:

//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;

//Display the value
Console.WriteLine(cellValue);
//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;

//Display the value
Console.WriteLine(cellValue);
'Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet ("C2").IntValue

'Display the value
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

输出结果如下

如何在C#中打开Excel文件,图2:读取Excel

读取 Excel

现在,让我们从打开的 Excel 文件中的单元格区域读取数据。代码如下

// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Range of cells elegantly.
For Each cell In sheet ("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

使用 for 循环访问单元格区域 A2 - A6 内的单元格值。每个值都会打印到控制台。

如何在C#中打开Excel文件,图3:读取单元格范围

读取单元格范围

有关读取和写入单元格值的详细工作,请查看在另一个C#示例中读取Excel文件教程。

创建新工作簿

IronXL 还可以帮助创建新的工作簿,这些工作簿可以用于数据的保存和检索。

与加载 Excel 文件一样,创建 Excel 文件也非常简单,只需一行代码即可完成。

WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

让我们创建一个工作表,并添加一些数据供以后使用。

创建新工作表

WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText   $csharpLabel

上面的代码行在当前加载的工作簿中创建了一个名为 "GDPByCountry" 的工作表,现在可以将单元格值添加到当前的WorkSheet中。

以下代码将一个值添加到A1单元格:

workSheet ["A1"].Value = "Example";
workSheet ["A1"].Value = "Example";
workSheet ("A1").Value = "Example"
$vbLabelText   $csharpLabel

最终成果如下:

如何在 C# 中打开 Excel 文件,图 4:向单元格添加值

为单元格添加值

摘要

本文演示了如何使用 IronXL.Excel 在 C# 中打开和读取 XLS、XLSX 等 Excel 文件。 IronXL.Excel 不需要在系统中安装 Microsoft Excel,即可执行所有与 Excel 相关的任务。

IronXL 提供了对所有与 Excel 相关的任务进行编程处理的解决方案,无论是公式计算、字符串排序、修剪、查找和替换、合并和拆分保存文件等等。您还可以设置单元格的数据格式。

IronXL 提供30天免费试用,并可用于商业用途。 IronXL 的 Lite 套餐起价为 $749。

雷根·彭
软件工程师
Regan毕业于雷丁大学,拥有电子工程学士学位。在加入Iron Software之前,他的前工作职位要求他专注于单一任务;他在Iron Software最喜欢的是能进行多种工作,无论是增加销售价值、技术支持、产品开发还是营销。他喜欢了解开发人员如何使用Iron Software的库,并利用这些知识不断改进文档和开发产品。
< 前一页
如何在C#中读取Excel文件
下一步 >
如何将表格转换为Excel中的范围