使用IRONXL

在 C# 中如何导入 Excel 文件

更新 2024年二月20日
分享:

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 文件。
  • System.Data.DataSetSystem.Data.DataTable对象导入 Excel 表单。
  • Excel 文件 公式 每次编辑工作表时都会重新计算。
  • 通过 "工作表 "进行直观的单元格区域设置 ["A1:B10"]简易语法。
  • 对单元格区域、列和行进行排序。
  • 设计单元格样式--字体、字体大小、背景颜色、 边界、对齐编号格式.

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

先决条件

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

  1. Visual Studio - 它是开发 C# .NET 应用程序的官方集成开发环境。您可以从 微软网站.

  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
VB   C#

在 C&num 中打开现有 Excel 文件;

Microsoft Excel 电子表格也称为 Excel 工作簿。每个工作簿包含多个工作表,单个工作表中的表格单元格包含其值。要 打开并读取 Excel 文件应使用 工作簿 类和 加载 方法。代码如下

//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")
VB   C#

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

WorkSheet sheet = workbook.WorkSheets.First();  
WorkSheet sheet = workbook.WorkSheets.First();  
Dim sheet As WorkSheet = workbook.WorkSheets.First()
VB   C#

这将打开 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)
VB   C#

输出结果如下

如何在 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
VB   C#

代码非常简单、干净和清晰。如 foreach 循环所示,可以用简单的语法引用单元格范围:表格 ["A2:A6"]可以使用 for 循环迭代每个单元格,以获取其值。在此,您将在控制台输出中看到第 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
VB   C#

输出文件

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

读取 Excel 文件的输出控制台

添加图像 alt 文本。

摘要

本文演示了如何在未安装任何 Microsoft Excel 的情况下用 C# 导入和读取 Excel 文件。然后介绍了从 Excel 电子表格读取数据的多种方法。IronXL 还有助于在不安装任何 Excel 的情况下用 C# 创建 Excel 文件。

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

IronXL 可免费试用,并可 特许 LiteLicense` 起即可用于商业用途。

< 前一页
如何在C#中将数据表导出为CSV
下一步 >
如何在C#中将数据集转换为CSV

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 988,189 查看许可证 >