Excel数据处理利器:C#中三款热门开源类库推荐及实例代码解析
创作时间:
作者:
@小白创作中心
Excel数据处理利器:C#中三款热门开源类库推荐及实例代码解析
引用
1
来源
1.
https://blog.sjtt.cc/details/170055240970715902
在C#开发中,处理Excel文件是一个常见的需求。本文将介绍三个热门的开源Excel处理类库:EPPlus、NPOI和ClosedXML。这些类库功能强大且易于使用,能够满足各种Excel文件处理需求。
EPPlus
- 功能:EPPlus是一个用于处理Excel文件的功能强大且易于使用的开源库。它支持Excel 2007及以上版本(.xlsx格式)。
- 适用范围:适用于创建、读取和编辑Excel文件,支持图表、样式、公式等高级功能。
- 下载地址:EPPlus GitHub
实例代码
using OfficeOpenXml;
// 数据导出到Excel
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells["A1"].Value = "Hello";
worksheet.Cells["A2"].Value = "World";
package.SaveAs(new FileInfo("output.xlsx"));
}
// 从Excel导入数据
using (var package = new ExcelPackage(new FileInfo("input.xlsx")))
{
var worksheet = package.Workbook.Worksheets[0];
var value1 = worksheet.Cells["A1"].Value.ToString();
var value2 = worksheet.Cells["A2"].Value.ToString();
Console.WriteLine(value1 + " " + value2);
}
NPOI
- 功能:NPOI是一个.NET实现的开源类库,支持Excel、Word和PowerPoint文件的读写。
- 适用范围:适用于处理多种Office文档格式,包括Excel。
- 下载地址:NPOI GitHub
实例代码
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.HSSF.UserModel;
// 数据导出到Excel
IWorkbook workbook = new XSSFWorkbook(); // 或者 new HSSFWorkbook(),取决于Excel版本
ISheet sheet = workbook.CreateSheet("Sheet1");
sheet.CreateRow(0).CreateCell(0).SetCellValue("Hello");
sheet.CreateRow(1).CreateCell(0).SetCellValue("World");
using (var fs = new FileStream("output.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(fs);
}
// 从Excel导入数据
using (var fs = new FileStream("input.xlsx", FileMode.Open, FileAccess.Read))
{
IWorkbook workbook = WorkbookFactory.Create(fs);
ISheet sheet = workbook.GetSheetAt(0);
var value1 = sheet.GetRow(0).GetCell(0).ToString();
var value2 = sheet.GetRow(1).GetCell(0).ToString();
Console.WriteLine(value1 + " " + value2);
}
ClosedXML
- 功能:ClosedXML是一个简单的开源库,用于在.NET应用程序中创建和处理Excel文件。
- 适用范围:适用于创建、读取和编辑Excel文件,提供简洁的API。
- 下载地址:ClosedXML GitHub
实例代码
using ClosedXML.Excel;
// 数据导出到Excel
using (var workbook = new XLWorkbook())
{
var worksheet = workbook.Worksheets.Add("Sheet1");
worksheet.Cell("A1").Value = "Hello";
worksheet.Cell("A2").Value = "World";
workbook.SaveAs("output.xlsx");
}
// 从Excel导入数据
using (var workbook = new XLWorkbook("input.xlsx"))
{
var worksheet = workbook.Worksheet(1);
var value1 = worksheet.Cell("A1").Value.ToString();
var value2 = worksheet.Cell("A2").Value.ToString();
Console.WriteLine(value1 + " " + value2);
}
这些类库都提供了丰富的功能,你可以根据项目的需求选择合适的类库。以上示例代码中的注释是为了说明基本功能,实际应用中你可能需要根据业务需求进行更复杂的操作。
热门推荐
书法艺术融入现代设计:从平面到立体的创新应用
书法艺术:从传统精神到现代审美新变
张旭光谈书法创新:传统与现代审美如何融合
三大品牌主板开启CSM教程:Legacy模式设置详解
UEFI时代如何安装Windows 7?开启CSM是关键
一文掌握CSM:解决新硬件与旧系统兼容难题
轻松掌握CSM设置:兼容UEFI与传统BIOS的关键
韭菜盒子:传统美食的健康新选择
电饼铛做出完美韭菜盒子
海南:美食与美景相得益彰,热带海岛的味觉盛宴
五一自驾游必备:房车驾驶资格全攻略
<草莓软糖>:叶斐然2025年新作,轻松幽默的甜宠佳作
广东广宁竹海大观:百种珍稀竹子打造中国南部最大氧吧
年增3-5米,4年成竹海:巨龙竹的种植与经济价值
梵净山、黄果树秋冬旅游全攻略:红叶雪景与静谧瀑布
再婚必看:财产、子女抚养等四大法律风险防范全攻略
离婚后再婚四大隐患:家庭动荡、经济压力与情感困扰
AutoCAD LISP开发入门:环境搭建到实例应用
用LISP提升AutoCAD效率:自动化绘图与智能数据处理
CAD Lisp编程入门与实战:打造专属自动化工具
用LISP开发CAD插件,实现设计任务自动化
老子故里固始县:文化传承助力地方发展
手机摄像头清洁教程:告别模糊视界,让你的视界更清淅!
小脚趾甲分瓣,真是纯种汉人的标志吗?
健康庆阳行动:揭秘脚部健康密码
脚趾灵活,长寿不是梦!秋冬季节这样养脚最有效
冬季防肠炎,补液盐和蒙脱石散如何选?
防疫新姿势:科学预防急性肠炎
2024版心肌炎诊断指南出炉!这些要点你需要知道
病案首页:疫情防控的“数据大脑”