.NET6 使用NPOI操作Excel的方法
2024-09-26
44
在 .NET 6 中,你可以使用 NPOI 库来操作 Excel 文件。NPOI 是一个用于处理 Office 文档(包括 Excel)的开源库,它提供了丰富的功能和 API,可以让你在 .NET 中轻松地读取和写入 Excel 文件。
以下是一个简单的示例,演示了如何在 .NET 6 中使用 NPOI 来读取和写入 Excel 文件:
首先,你需要确保你的项目中引用了 NPOI 库。你可以在 NuGet 包管理器中搜索并安装 NPOI 包。
读取 Excel 文件
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel; // 如果是xlsx格式的Excel
public void ReadExcel(string filePath)
{
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
IWorkbook workbook = new XSSFWorkbook(fs); // 如果是xlsx格式的Excel
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++)
{
Console.Write(currentRow.GetCell(col) + "\t"); // 读取单元格的值
}
Console.WriteLine();
}
}
}
}
写入 Excel 文件
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel; // 如果是xlsx格式的Excel
public void WriteExcel(string filePath)
{
IWorkbook workbook = new XSSFWorkbook(); // 创建新的工作簿
ISheet sheet = workbook.CreateSheet("Sheet1"); // 创建一个工作表
for (int row = 0; row < 5; row++)
{
IRow currentRow = sheet.CreateRow(row); // 创建新行
for (int col = 0; col < 5; col++)
{
ICell cell = currentRow.CreateCell(col); // 创建单元格
cell.SetCellValue($"Row {row + 1}, Col {col + 1}"); // 设置单元格的值
}
}
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
workbook.Write(fs); // 保存工作簿到文件
}
}
上述示例演示了如何在 .NET 6 中使用 NPOI 库来读取和写入 Excel 文件。你可以根据需要进一步扩展和调整代码以满足你的具体需求。同时,请注意在实际项目中要适当地处理异常和资源释放。
更新于:1个月前赞一波!
相关文章
- .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 的新增功能
- 什么是.NET渐进式Web应用(PWA)
- .NET开发中常见的异常报错原因和解决方法?
- .NET框架和CLR的工作原理?
- ASP.NET MVC与Web Forms的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- 使用ADO.NET连接到南大通用GBase 8s数据库
- 鸿蒙OpenHarmony系统可以运行跨平台的.NET Core吗?
- ASP.NET Core使用partial标签报错
- .NET 9 即将推出的功能Task.WhenEach
- .NET 使用HttpClientFactory+Polly替代直接使用HttpClient
- .NET Framework被淘汰了吗?
- 强大的 .NET Mock 框架 单元测试模拟库Moq使用教程
文章评论
评论问答