在 C# 中,读取 Excel 文件是非常常见的需求,无论是为了从 Excel 导入数据、进行报表处理,还是数据转换、展示,处理 Excel 文件的需求非常广泛。在这些场景下,使用专门的库可以大大简化读取和操作 Excel 文件的过程。本文将详细介绍几种主流的、常用的 C# 组件,来帮助开发者轻松读取 Excel 文件,并为每个库提供详细的示例代码。
一、常见的 Excel 文件读取库
目前在 C# 生态中,有几种较为流行的库可以处理 Excel 文件,每种库都有其优势和特点。以下是几种常见的 C# 读取 Excel 文件的组件:
EPPlus
NPOI
ClosedXML
ExcelDataReader
Microsoft Interop.Excel
每种库都有不同的应用场景和优缺点,以下将逐一介绍它们的特点、适用场景和使用方法。
1. EPPlus
EPPlus 是一个开源的、非常流行的处理 Excel 文件的库。它主要支持 Excel 2007 及以后的 .xlsx 文件格式,并且提供了非常丰富的 API 来进行读取和操作 Excel 文档,包括但不限于读写单元格、处理表格样式、数据验证、公式计算、图表等功能。
特点
支持 Excel 2007 及以上版本的 .xlsx 文件格式。
功能丰富,支持样式、公式、图表、数据验证等复杂功能。
使用简单,API 易于理解和使用。
无需依赖 Excel 应用程序,适合在服务器端使用。
适用场景
EPPlus 适合需要处理现代 Excel 文件(.xlsx 格式)并且需要较为复杂功能的场景。它非常适合用在服务器环境中,不需要依赖安装 Excel 软件。
安装
可以使用 NuGet 来安装 EPPlus:
bash
Install-Package EPPlus
示例代码
csharp
using OfficeOpenXml;
using System.IO;
public void ReadExcel()
{
FileInfo fileInfo = new FileInfo("path/to/excel.xlsx");
using (ExcelPackage package = new ExcelPackage(fileInfo))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
int rows = worksheet.Dimension.Rows;
int columns = worksheet.Dimension.Columns;
for (int i = 1; i <= rows; i++)
{
for (int j = 1; j <= columns; j++)
{
string cellValue = worksheet.Cells[i, j].Text;
Console.WriteLine(cellValue);