雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

分享5个开源的.NET Excel读写操作库

2024-12-09 30

本文给大家分享 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天前
赞一波!5

文章评论

评论问答