当前位置: 首页 > news >正文

NPOI 读取和写入Excel

在C#中使用NPOI库读取和写入Excel文件,你需要先下载并安装NPOI库。你可以在NuGet管理器中搜索NPOI并进行安装。

以下是一个使用NPOI库进行Excel文件读取和写入的示例:

读取Excel文件:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;// 打开Excel文件
using (FileStream file = new FileStream("文件路径/文件名.xlsx", FileMode.Open, FileAccess.Read))
{IWorkbook workbook = new XSSFWorkbook(file);// 选择工作表ISheet worksheet = workbook.GetSheet("工作表名称");// 读取单元格的值IRow row = worksheet.GetRow(0);ICell cell = row.GetCell(0);string cellValue = cell.StringCellValue;// 读取整个工作表的数据List<List<string>> data = new List<List<string>>();for (int rowIndex = 0; rowIndex <= worksheet.LastRowNum; rowIndex++){row = worksheet.GetRow(rowIndex);List<string> rowData = new List<string>();for (int columnIndex = 0; columnIndex < row.LastCellNum; columnIndex++){cell = row.GetCell(columnIndex);string value = cell?.StringCellValue ?? "";rowData.Add(value);}data.Add(rowData);}
}

写入Excel文件:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;// 创建一个新的Excel文件
IWorkbook workbook = new XSSFWorkbook();// 创建一个工作表
ISheet worksheet = workbook.CreateSheet("工作表名称");// 写入单元格的值
IRow row = worksheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("Hello World");// 保存Excel文件
using (FileStream file = new FileStream("文件路径/文件名.xlsx", FileMode.Create, FileAccess.Write))
{workbook.Write(file);
}

请注意,在使用NPOI时,记得引入必要的命名空间:NPOI.SS.UserModelNPOI.XSSF.UserModel

http://www.lryc.cn/news/128044.html

相关文章:

  • Linux工具【2】(调试器gdb、项目自动化构建工具make/Makefile)
  • C++ 网络编程项目fastDFS分布式文件系统(三)-Nginx部分
  • Apache-DBUtils
  • LangChain手记 Agent 智能体
  • 87-基于stm32单片机粮仓仓库环境温湿度烟雾监测报警系统Proteus仿真+源码
  • ChatGPT 调教日记(二):程序员转量化的背景知识
  • 什么是网络地址转换 (NAT)
  • 系统架构设计师---事务管理、并发控制、数据库的备份与恢复
  • 如何更好的维护自己的电脑?
  • element+vue 表格行拖拽功能
  • Python学习笔记_基础篇(三)_数据类型之列表
  • 目标检测YOLO实战应用案例100讲-交通目标检测中传感器数据采集容错控制方法
  • ElasticSearch 8.9.0 开发模式安装
  • docker部署redis
  • ZooKeeper的应用场景(分布式锁、分布式队列)
  • seata 的部署和集成
  • C++入门基础(万字详解!!!)
  • 神经网络基础-神经网络补充概念-53-将batch norm拟合进神经网络
  • Sping源码(六)— prepareBeanFactory()
  • LeetCode(力扣)257. 二叉树的所有路径Python
  • nodejs实现http与https服务;同时处理proxy代理的解决方案
  • C# WPF ListBox 动态显示图片
  • 游戏如何防御DDOS流量攻击呢,用游戏盾真的有用么?
  • vue项目引入antDesignUI组件
  • 非结构化数据库-MinIO基本集成
  • Etcd备份及恢复
  • 使用JavaMail发送邮件时嵌入公司logo图片
  • 注解 @Async
  • Python“牵手”lazada商品评论数据采集方法,lazadaAPI申请指南
  • 微信小程序通用字体代码