跳至页脚内容
使用 IRONXL

如何在 C# 中导入 Excel 文件

Microsoft Excel 是一款功能强大的电子表格软件,有助于数据组织、展示和分析。 然而,在 C# 中以编程方式操作 Excel 可能具有挑战性。 IronXL 软件库可用于在 C# 中导入和读取 Excel 文件。

IronXL - Excel 库

IronXL是一个 .NET Excel 库,它优先考虑用户的易用性、准确性和速度。 它可以帮助您导入和读取 Excel 文档,并以闪电般的速度高效地创建和编辑 Excel 文件。 它无需 MS Office Interop 即可运行。这意味着即使不安装 Excel,它也能提供读取 Excel 文件的所有功能。 这使得 IronXL 成为开发人员在 C# 中导入和读取 Excel 文件的强大工具。

IronXL 可在 Windows、Linux、MacOS、Docker、Azure 和 AWS 等所有平台上使用。 它与所有 .NET Framework 版本兼容。 IronXL 是一个功能强大的库,可以集成到控制台、桌面和 Web ASP.NET 应用程序中。 它支持不同的工作簿格式,如 XLS 和 XLSX 文件、XSLT 和 XLSM、CSV 和 TSV。

一些重要功能

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

如何在C#中导入Excel工作簿?

前提条件

要在 C# 中使用 IronXL 读取 Excel 文件,请确保计算机上已安装以下组件:

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

添加必要的命名空间

安装好 Visual Studio 和 IronXL 后,在源代码中引用 IronXL 程序集即可使用 IronXL。 在新项目中,将要使用 IronXL 函数的文件顶部添加以下代码行:

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

在 C# 中打开现有 Excel 文件

微软Excel电子表格也称为Excel工作簿。 每个工作簿包含多个工作表,每个工作表包含带有其值的表格单元格。 要打开和读取 Excel 文件,应该使用 IronXL 库中的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

这将打开工作簿实例引用变量中的 Excel 文件。 由于它可以有多个工作表,因此可以用于打开特定工作表或同时打开所有工作表。 以下代码打开工作表实例变量中的第一个工作表:

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

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

打开 Excel 文件

如何在 C# 中导入 Excel 文件,图 1:Excel 文件 Excel 文件

从导入的 Excel 文件中读取数据

Excel 文件导入后,即可读取数据。 使用 IronXL 在 C# 中读取 Excel 文件数据非常简单容易。 您可以通过简单指定单元格引用编号来读取 Excel 单元格值。

下面的代码检索具有引用编号 "C2" 的单元格的值:

// 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 a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from a 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

代码非常简单、干净和清晰。 可以使用简单的语法引用单元格范围,如foreach循环所示: sheet["A2:A6"] ,并且可以遍历每个单元格以获取其值。 在这里,您将在控制台输出中看到从第2行到第6行的 A 列中的名称:

如何在 C# 中导入 Excel 文件,图 3:读取单元格区域 读取单元格范围

有关读取和写入单元格值的更多详细信息,请查看本教程:C# 中读取 Excel 文件示例

从 Excel 文件导入所有数据

IronXL 可用于一次性读取 Excel 表格,使用行和列索引。 以下 IronXL 代码示例有助于在控制台输出中以相同格式获取整个 Excel 文件数据:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	' Traverse all columns of specific Row
	For j As Integer = 0 To sheet.Columns.Count() - 1
		' Get the values
		Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
$vbLabelText   $csharpLabel

输出文件

如何在 C# 中导入 Excel 文件,图 4:读取 Excel 文件的输出控制台 读取 Excel 文件的输出控制台

.

总结

本文演示了如何在未安装 Microsoft Excel 的情况下,使用 C# 导入和读取 Excel 文件。 然后,它考虑了从 Excel 电子表格中读取数据的多种方法。 IronXL 还帮助在没有任何 Excel 安装的情况下在 C# 创建 Excel 文件。

IronXL 提供了一个一体化解决方案,用于以编程方式实现所有与 Microsoft Excel 文档相关的任务。 您可以执行公式计算、字符串或数字排序、去除和附加、查找和替换、合并和取消合并、保存文件等。您可以编辑单元格值,还可以设置单元格数据格式以及验证电子表格数据。 它还支持 CSV 文件,并可帮助您像处理 Excel 数据一样处理数据。

IronXL提供免费试用版,商业用途的授权只需购买 Lite 套餐,价格仅为$799起。

常见问题解答

如何在不使用 Interop 的情况下在 C# 中导入和读取 Excel 文件?

您可以使用 IronXL 库在 C# 中导入和读取 Excel 文件。只需使用 WorkBook.Load("file.xlsx") 加载 Excel 文件即可访问并处理数据,无需安装微软 Excel。

IronXL 库兼容哪些平台?

IronXL 兼容所有 .NET 框架,并可用于包括 Windows、Linux、MacOS、Docker、Azure 和 AWS 在内的多个平台。

我可以使用 IronXL 编辑 Excel 文件而无需安装 Microsoft Excel 吗?

是的,IronXL 允许您在 C# 中以编程方式创建和编辑 Excel 文件,而无需在系统上安装 Microsoft Excel。

IronXL 可以处理哪些 Excel 格式?

IronXL 支持各种 Excel 文件格式,如 XLS、XLSX、CSV、TSV 等,能够轻松导入和操作数据。

在 C# 项目中使用 IronXL 有哪些先决条件?

要使用 IronXL,请确保已安装 Visual Studio。您可以通过 NuGet 软件包管理器添加 IronXL 到您的项目,或通过下载并引用 .NET Excel DLL。

如何在 C# 中使用 IronXL 加载 Excel 工作簿?

要在 C# 中加载 Excel 工作簿,可以使用 IronXL 的 WorkBook.Load("path/to/file.xlsx") 方法,可以打开并操作工作簿。

是否可以使用 IronXL 处理 Excel 公式?

可以,IronXL 可以在每次编辑工作表时无缝地处理和重新计算 Excel 公式,确保数据计算的准确性。

如何使用 IronXL 从特定单元格读取数据?

要从特定单元格读取数据,可以使用 IronXL 语法如 sheet["B2"].StringValue 来获取 B2 单元格的值。

我可以使用 IronXL 遍历 Excel 表格的单元格范围吗?

是的,您可以使用 IronXL 遍历单元格范围,使用语法如 foreach (var cell in sheet["A1:C3"]) 来逐个处理每个单元格。

如何将 IronXL 集成到 ASP.NET 应用程序中?

可以通过 NuGet 添加库并在项目中引用,在 ASP.NET 应用程序中轻松集成 IronXL,实现 Excel 文件操作。

Curtis Chau
技术作家

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

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