C#測試調用EPPlus根據批注設置excel單元格內容

??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…