技术文摘
C# 中用于 Excel 数据处理的三款热门开源类库推荐与实例代码解析
2024-12-30 17:47:47 小编
C# 中用于 Excel 数据处理的三款热门开源类库推荐与实例代码解析
在 C# 编程中,处理 Excel 数据是一项常见的任务。为了提高开发效率和代码质量,许多开发者选择使用开源类库。以下为您推荐三款热门的用于 Excel 数据处理的 C# 开源类库,并通过实例代码进行解析。
一、NPOI
NPOI 是一个非常强大且广泛使用的 C# 开源类库,它可以读写 Excel 的各种格式,包括.xls 和.xlsx。
以下是一个简单的示例代码,用于读取 Excel 中的数据:
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
class Program
{
static void Main()
{
using (FileStream file = new FileStream("your_file.xlsx", FileMode.Open, FileAccess.Read))
{
IWorkbook workbook = new XSSFWorkbook(file);
ISheet sheet = workbook.GetSheetAt(0);
for (int row = 0; row <= sheet.LastRowNum; row++)
{
IRow currentRow = sheet.GetRow(row);
if (currentRow!= null)
{
for (int col = 0; col < currentRow.LastCellNum; col++)
{
ICell cell = currentRow.GetCell(col);
if (cell!= null)
{
Console.Write(cell.ToString() + " ");
}
}
Console.WriteLine();
}
}
}
}
}
二、EPPlus
EPPlus 也是一个出色的开源类库,支持生成和操作 Excel 文件。
以下是使用 EPPlus 生成 Excel 文件的示例代码:
using OfficeOpenXml;
class Program
{
static void Main()
{
using (ExcelPackage package = new ExcelPackage())
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells[1, 1].Value = "姓名";
worksheet.Cells[1, 2].Value = "年龄";
worksheet.Cells[2, 1].Value = "张三";
worksheet.Cells[2, 2].Value = 25;
package.SaveAs(new FileInfo("output.xlsx"));
}
}
}
三、ClosedXML
ClosedXML 提供了简单直观的 API 来处理 Excel 文档。
例如,读取 Excel 数据的代码如下:
using ClosedXML.Excel;
class Program
{
static void Main()
{
using (var workbook = new XLWorkbook("your_file.xlsx"))
{
var worksheet = workbook.Worksheet(1);
for (int row = 1; row <= worksheet.RowsUsed().Count(); row++)
{
for (int col = 1; col <= worksheet.ColumnsUsed().Count(); col++)
{
Console.Write(worksheet.Cell(row, col).Value + " ");
}
Console.WriteLine();
}
}
}
}
这三款开源类库各有特点,您可以根据项目的具体需求选择合适的类库来高效地处理 Excel 数据。通过上述实例代码,希望能帮助您快速上手并在实际开发中灵活运用。
- 透过 Islands Architecture 洞察前端内卷程度
- 微服务架构中的可观察性设计模式
- Python 批量转换多种音乐格式实战指南
- Python 项目管理与构建的四大工具,值得收藏!
- 何种编程语言适宜开发网页抓取工具?
- 29 项合格前端工程师必备的 JavaScript 技能
- Solid.js 快速入门教程:React 开发者适用
- 25 种受 DevOps 专业人士青睐的编程语言:Typescript 居首
- Python 异常信息的独特展现方式,涨知识!
- 11 条接口性能优化技巧助力每日好眠
- 22 道 JavaScript 面试常见问题
- 资源利用率提升与服务质量保障能否两全
- Cluster API 检索变得轻而易举
- 多任务学习于风控场景的应用探寻与案例解析
- Golang 中 map 的研究