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);
}
这些类库都提供了丰富的功能,你可以根据项目的需求选择合适的类库。以上示例代码中的注释是为了说明基本功能,实际应用中你可能需要根据业务需求进行更复杂的操作。
热门推荐
电路板厂的工作流程详解:从设计到出货的完整制造过程
肥胖新定义让BMI“靠边站”
每天吃藜麦,身体悄然发生这些变化!你绝对想不到的健康益处曝光
肌酸激酶高该去哪个科?答案在这里!
四川酒十大名酒你知道几个?
创新疗法引入中国让中晚期肝癌患者看到希望
点赞,山西如何凭一己之力拥有并留存中国最多的古建筑?
战锤巨人:《进击的巨人》中艾伦角色发展的关键力量
三亚旅游攻略:高性价比景区、住宿和美食推荐
考驾照的基本流程
MUSIC算法介绍
柠檬片是用热水还是冷水泡?柠檬干泡水的正确方法和用量
刘国恩:为什么分级诊疗任重道远
从汉朝到清朝:中国古代女性美容方式的演变
国安通报非法测绘背后:智能驾驶涉及哪些敏感数据?企业如何确保合规安全?
宝宝睡觉不踏实、频繁夜醒,新手爸妈如何应对?
现代花园中核桃树的种植指南
【痛弧征】肩峰下撞击综合征的诊与疗
网络流行用语“绿茶女”的起源是什么?
怎么缩小云盘空间
畜禽生产仿真软件:现代农业中的智能助手
热闻|“花式”报春万物复苏,各地春色醉游人!山东的花开啦,是时候来赏花啦
房产过户纠纷怎么解决
预防食物中毒:合理饮食、正确使用冰箱是关键
二级域名备案要求,一级域名与二级域名的备案规则有何不同?
合作再升级 华为(泸州)数字经济生态基地正式揭牌
中風後遺症:中醫療法能有效舒緩嗎?
膽囊息肉的成因、影響與改善方法
基于Transformer的音乐生成(midi模式)
家庭版酱鸭制作教程:详细步骤与用料清单