在 C# (.NET) 中处理 Excel:EPPlus、ClosedXML 和 NPOI 库

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

在 C# (.NET) 中处理 Excel:最佳库和示例



处理 Excel 电子表格是 C# 企业开发中最常见的任务之一。无论是生成报告、导入数据还是自动化日常操作,您都需要一个可靠的工具。在本文中,我们将介绍 .NET 生态系统中用于处理 Excel 的三个流行库:EPPlus、ClosedXML 和 NPOI。您将了解它们的特点、优势,并看到代码示例。



1. EPPlus — 强大且现代的工具



EPPlus 是 .NET 中最流行的用于处理 Excel 文件 (.xlsx) 的库之一。它几乎支持 Excel 的所有功能:格式化、图表、数据透视表、条件格式等。从版本 5 开始,EPPlus 根据 Polyform Noncommercial 许可证(免费用于非商业用途)分发,商业用途需要购买许可证。



安装

Install-Package EPPlus


示例:创建一个简单的 Excel 文件

using OfficeOpenXml;

class Program{ static void Main() { // 设置许可证上下文(用于非商业用途) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("报告"); // 标题 worksheet.Cells["A1"].Value = "姓名"; worksheet.Cells["B1"].Value = "年龄"; worksheet.Cells["C1"].Value = "城市"; // 数据 worksheet.Cells["A2"].Value = "安娜"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "莫斯科"; worksheet.Cells["A3"].Value = "伊万"; worksheet.Cells["B3"].Value = 35; worksheet.Cells["C3"].Value = "圣彼得堡"; // 格式化 worksheet.Cells["A1:C1"].Style.Font.Bold = true; worksheet.Cells["A1:C1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; worksheet.Cells["A1:C1"].Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.LightBlue); // 自动调整列宽 worksheet.Cells.AutoFitColumns();

// 保存 var file = new FileInfo("报告.xlsx"); package.SaveAs(file); } }}


EPPlus 优点:

  • 支持复杂对象:图表、数据透视表、迷你图
  • 处理大文件时性能高
  • 优秀的文档和活跃的社区

缺点:商业许可证收费,不支持 .xls(旧格式)。



2. ClosedXML — 简单易用



ClosedXML 是一个免费的开源库,提供便捷的 API 用于处理 Excel。它基于 OpenXML SDK 构建,但隐藏了所有复杂性,提供了直观的界面。非常适合快速创建报告和表格。



安装

Install-Package ClosedXML


示例:创建带格式的文件

using ClosedXML.Excel;

class Program{ static void Main() { using (var workbook = new XLWorkbook()) { var ws = workbook.Worksheets.Add("销售"); // 标题 ws.Cell("A1").Value = "商品"; ws.Cell("B1").Value = "数量"; ws.Cell("C1").Value = "价格"; // 数据 ws.Cell("A2").Value = "笔记本电脑"; ws.Cell("B2").Value = 5; ws.Cell("C2").Value =

推荐