分享5个开源的.NET Excel读写操作库
本文给大家分享 5 个开源的 .NET Excel 读写操作库,它们广泛用于处理 Excel 文件,包括读取、写入、导入和导出数据。
1. EPPlus
简介:EPPlus 是功能强大的 .NET 库,用于创建和读取 Excel 文件(.xlsx 和 .xlsm 格式)。它支持丰富的 Excel 特性,比如表格、图表、公式等。
特点:
支持 .NET Framework 和 .NET Core。 丰富的 Excel 功能支持,包括公式、图表、图片等。 优化的性能,适合大文件处理。 支持流式读取和写入,节省内存。EPPlus 安装和使用方法:
dotnet add package EPPlus
using OfficeOpenXml;
// 创建 Excel 文件
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells[1, 1].Value = "Hello, Excel!";
package.SaveAs(new FileInfo("example.xlsx"));
}
2. NPOI
简介:NPOI 是 Apache POI 的 .NET 移植版本,可以处理 Microsoft Excel(.xls 和 .xlsx 格式)、Word 和 PowerPoint 文件。
特点:
支持 Excel 2003(.xls)和 Excel 2007+(.xlsx)。 兼容性好,支持复杂的 Excel 功能,如合并单元格、数据验证等。 还支持处理 Word 和 PowerPoint 文件。NPOI 安装和使用方法:
dotnet add package NPOI
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
var workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet("Sheet1");
var row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Hello, NPOI!");
using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(file);
}
3. ClosedXML
简介:ClosedXML 是一个简单易用的 .NET 库,主要用于操作 Excel 文件(.xlsx 格式)。它的设计理念是让开发者用最少的代码完成常见操作。
特点:
专注于 .xlsx 文件格式。 API 简洁,适合快速开发。 支持表格、公式、数据验证等功能。ClosedXML 安装和使用方法:
dotnet add package ClosedXML
using ClosedXML.Excel;
var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add("Sheet1");
worksheet.Cell("A1").Value = "Hello, ClosedXML!";
workbook.SaveAs("example.xlsx");
4. ExcelDataReader
简介:ExcelDataReader 是一个高性能的 .NET 库,专注于从 Excel 文件(.xls 和 .xlsx 格式)中读取数据。它不支持写操作,适用于导入数据的场景。
特点:
专注于读取操作,性能高效。 支持流式解析,内存占用小。 还支持数据表形式的处理。ExcelDataReader 安装和使用方法:
dotnet add package ExcelDataReader
using ExcelDataReader;
using (var stream = File.Open("example.xlsx", FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
do
{
while (reader.Read())
{
Console.WriteLine(reader.GetValue(0)); // 输出第一列数据
}
} while (reader.NextResult());
}
}
5. GemBox.Spreadsheet
简介:GemBox.Spreadsheet 是一个功能强大的库,可以读取和写入多种电子表格格式(如 .xls、.xlsx、.csv)。它提供了免费的有限功能版本,商业版本提供更多高级功能。
特点:
支持多种格式,包括 Excel 和 CSV。 免费版本每个文件最多支持 150 行数据。 轻量级,性能优异。GemBox.Spreadsheet 安装和使用方法:
dotnet add package GemBox.Spreadsheet
using GemBox.Spreadsheet;
SpreadsheetInfo.SetLicense("FREE-LIMITED");
var workbook = new ExcelFile();
var worksheet = workbook.Worksheets.Add("Sheet1");
worksheet.Cells[0, 0].Value = "Hello, GemBox!";
workbook.Save("example.xlsx");
Excel操作库的对比和选择
根据需求选择合适的库,例如:
如果需要简单、快速的操作,推荐 ClosedXML。
如果是读取大文件或流式数据,推荐 ExcelDataReader。
如果需要功能全面且支持多格式,选择 EPPlus 或 NPOI。
更新于:9天前相关文章
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- .NET开源ORM FreeSql常见问题和解决方法
- 微软于发布了.NET 9 Release Candidate 2 提高整体质量
- ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
- 如何从.NET Framework迁移到.NET Core或.NET 6/7?
- 如何优化ASP.NET Core应用的性能?
- 10款.NET开发中推荐的代码分析和质量工具
- .NET9 Blazor有哪些更新?
- 在Docker、Kubernetes环境下部署.NET应用的最佳实践
- .NET 游戏开发框架有哪些?
- PluginCore 基于 ASP.NET Core 的轻量级插件框架
- .NET C# EntityFramework(EF)连接SQLite代码示例
- Sylvan.Data.Excel 性能优异的开源.NET Excel数据读取库
- ASP.NET Core 中常用的内置中间件
- .NET9 F#有什么新特性?
- .NET 开源 ORM FreeSql 使用教程
- .NET9 C# 13 有哪些新特性?
- .NET9 开始删除内置的 Swagger 支持 可使用Scalar.AspNetCore替代
- .NET 9 中System.Text.Json 的新增功能