EPPlus也是常用的Excel文件操作库,但不同于ClosedXML,使用EPPlus前需要设置授权信息,商业应用需要设置商业授权,个人使用或非商业应用也需要设置授权(测试的时候只需设置全名,保存excel文件时会保存到文件详细信息中的作者属性)。EPPlus同样支持操作单元格批注,但调用方式与ClosedXML差异较大,本文学习调用EPPlus查找批注关联的单元格并设置内容的基本方式。
  VS2022新建Winform项目,在Nuget包管理器中搜索并安装EPPlus包。
在这里插入图片描述
  使用EPPlus的几点事项包括:
  1)通过ExcelPackage.License设置授权信息,调用SetCommercial函数设置商业授权,调用SetNonCommercialPersonal或SetNonCommercialOrganization设置非商业应用授权,也支持其它方式,详见参考文献1;
  2)使用ExcelPackage打开Excel文件,用ExcelWorksheet获取工作簿;
  3)ExcelWorksheet.Comments可以直接获取当前工作簿中的所有批注信息;
  4)ExcelComment批注类的Address属性保存单元格的位置字符串,如A2、C4等。

  最后是测试代码及程序运行截图:

ExcelPackage.License.SetNonCommercialPersonal("XXXXX");
using ExcelPackage package = new ExcelPackage(new FileInfo(txtFilePath.Text));
ExcelWorksheet worksheet = package.Workbook.Worksheets[0];for(int i=worksheet.Comments.Count-1;i>=0;i--)
{if (worksheet.Comments[i].Text == txtPz.Text){worksheet.Cells[worksheet.Comments[i].Address].Value = txtContent.Text;worksheet.Comments.RemoveAt(i);break;}
}          package.Save();

  
在这里插入图片描述
在这里插入图片描述

参考文献:
[1]https://github.com/EPPlusSoftware/EPPlus
[2]https://developer.aliyun.com/article/1613634
[3]https://blog.csdn.net/weixin_35920379/article/details/148448518

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/911839.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/911839.shtml
英文地址,请注明出处:http://en.pswp.cn/news/911839.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows本地搭建skywalking, 线程池中traceId不丢失

1.从官网下载9.0.0版本 Downloads | Apache SkyWalking 其它历史版本的 下载地址 Index of /dist/skywalking 这个页面 可以下载 apm服务: apache-skywalking-apm-9.0.0.tar.gz agent的包: apache-skywalking-java-agent-9.0.0.tgz 2.解压后, (看情况去config路径下 appli…

多模态大语言模型arxiv论文略读(135)

Agent S: An Open Agentic Framework that Uses Computers Like a Human ➡️ 论文标题:Agent S: An Open Agentic Framework that Uses Computers Like a Human ➡️ 论文作者:Saaket Agashe, Jiuzhou Han, Shuyu Gan, Jiachen Yang, Ang Li, Xin Eric…

wpa_supplicant连接到了路由,但是 udhcpc会分配到不同网段的ip,路由器ip为192.168.0网段,板子分配ip为192.168.1的网段

wpa_supplicant连接到了路由,但是 udhcpc会分配到不同网段的ip,路由器ip为192.168.0网段,板子分配ip为192.168.1的网段 你提到的情况: 使用 wpa_supplicant 成功连接到路由器; 然后通过 udhcpc(DHCP客户端&#xff09…

[Hestia]开源网络服务器控制面板,快速、可靠、开源

测评介绍 本期测评试用一下Hestia这款面板。Hestia是一个由国际社区支持开发的开源项目,2019年正式发布,目前已积累1.1万余次代码提交,几乎每周都有十多次的代码提交,更新热度很高。仅支持比较新的debian和ubuntu,对于…

Windows 安装 Redis8.0.2

1.下载 Releases redis-windows/redis-windowshttps://github.com/redis-windows/redis-windows/releases 下载后直接解压到想要的安装目录就行了,启动Redis直接双击 redis-server.exe 文件就行了,Redis启动后双击 redis-cli.exe 就可以直接连接到Redi…

GitHub中openmmlab和Detectron2的区别

MMDetection 和 Detectron2 都是计算机视觉领域中流行的开源目标检测框架,它们有许多相似之处,但也存在一些关键差异。以下是两者的主要区别: 1. 开发团队与社区 MMDetection 由中国开源组织 OpenMMLab 开发维护,社区以中文用户为…

开疆智能CCLinkIE转ModbusTCP网关连接施耐德TCP从站配置案例

本案例是三菱PLC通过CCLinkIE转ModbusTCP网关连接施耐德Modicon M262 Logic/Motion Controller的配置案例 配置方法: 首先设置Modicon M262 Logic/Motion Controller Modbus TCP 从站设备 I/O 映射选项卡 I/O 以如下方式从主站视角映射到 Modbus 寄存器&#xff1…

【源码】Reactive 源码

前言 用了很长时间的 componsition-api 了,最近想看看源码,抱着单纯的学习心态先从 reactive 开始吧。 个人习惯: 看代码要带着问题去看,不要盲目的去看问题就是这次看源码的主线,要围绕着主线去展开,过…

银河麒麟 | ubuntu 安装国产达梦DM8数据库(安装+外网通+IDEA连接)

目录 官网下载安装 下载安装包 创建安装用户组dinstall 创建安装用户dmdba并指定组 创建DM8软件安装目录修改权限 检查、修改系统资源限制 解压.zip的压缩包 安装mount数据库 图形化安装 清除之前的挂载 开启Disql服务 修改dmdba的环境变量 检查状态 进入数据库 …

MySQL与Oracle视图:深入解析与全面对比

视图概念 视图在 MySQL 与Oracle中本质上是一种虚拟表,其数据并非实际存储,而是基于一个或多个基础表的查询结果动态生成。它像是对复杂查询的一种封装,极大地简化了数据的查询操作。例如,当我们需要频繁从多个关联表中获取特定数…

uniapp通过webview套h5时使用plus调取蓝牙/usb打印

安卓使用usb调取打印机 /*** 安卓usb调取打印机*param { string | bytes[] } html 传入的打印内容*传入一段文本或一个bytes数组* returns*/ export const printUsb (html) > {return new Promise((resolve, reject) > {if (!window.plus) return reject(new Error(&qu…

吃透 Golang 基础:基于共享变量的并发

文章目录 sync.Mutex 互斥锁sync.RWMutex 读写锁sync.Once 惰性初始化Goroutine 与线程动态栈Goroutine 调度GOMAXPROCSGoroutine 没有 ID 号 上一篇文章当中我们已经系统性地回顾了在 Go 当中基于 Goroutine 和 Channel 进行并发控制的方法,Goroutine 指的是 Golan…

智绅科技丨如何选择一家好的养老机构?

居家养老、社区养老和机构养老是我们在养老相关消息中常常听到的3个词。在地方文件中,居家养老和社区养老还经常被统称为居家社区养老或 社区居家养老。那么,这三者之间到底有什么不同呢? 居家养老服务涵盖生活照料、家政服务、康复护理、医…

【支持向量机】SVM线性支持向量机学习算法——软间隔最大化支持向量机

支特向量机(support vector machines, SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。包含线性可分支持向量机、 线性支持向量机、非线性支持向量机。 当训练数据近似线性可分时,通过软间隔最大化学习线性分类器, 即为…

面试 — 预准备 — 面试前准备攻略

好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受. 只讲干货,不罗里吧嗦! 作为一个软件从业者,在面试前的准备工作至关重要,能大幅提升你的求职成功…

Oracle停库shutdown长时间无反应

Oracle停库shutdown长时间无反应 现象:Oracle停库卡住,长时间没有反应。 SQL> shutdown immediate;注:此时切记不可Ctrl+C直接取消!切记不可Ctrl+C直接取消!切记不可Ctrl+C直接取消! 检查alert_SID.log日志看是哪些会话进程导致的: Shutting down instance (immed…

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十八讲

列表部件基本上是一个采用垂直布局的矩形,可向其中添加按钮和文本。 部件包含: LV_PART_MAIN - 主要的属性,大部分是这个部件。 LV_PART_SCROLLBAR - 滚动条的属性。 (1) 添加文本 lv_obj_t * lv_list_add_text(lv_o…

Android Navigation 原理解析

1. nav_graph.xml 如何生成路由表 NavGraph 解析流程与原理 关键技术点&#xff1a; XML 解析&#xff1a; 使用 XmlResourceParser 解析 XML 文件 遍历所有节点&#xff08;<fragment>, <activity>, <navigation>等&#xff09; Destination 创建&#…

HarmonyOS 应用权限管控流程

HarmonyOS 应用权限管控流程详解 一、权限管控概述 HarmonyOS 通过多层次的安全机制保护用户数据和系统资源&#xff0c;其中应用权限管控是核心组成部分。系统通过以下机制实现权限管控&#xff1a; 应用沙箱&#xff1a;每个应用运行在独立沙箱中&#xff0c;通过TokenID识…

Python训练营-Day33

import torch torch.cudaimport torch# 检查CUDA是否可用 if torch.cuda.is_available():print("CUDA可用&#xff01;")# 获取可用的CUDA设备数量device_count torch.cuda.device_count()print(f"可用的CUDA设备数量: {device_count}")# 获取当前使用的C…