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

借助Aapose.Cells 使用 C# 在 Excel 中读取、添加和编辑线程注释

Excel 中的线程注释是协作工作的重要功能。它允许多个用户在共享文档中添加、编辑和查看对话线程。在某些情况下,我们可能需要以编程方式管理这些线程注释。在这篇博文中,我们将学习如何使用 C# 在 Excel 中读取、添加和编辑线程注释。

Aspose.Cells 是Excel电子表格编程API,可加快电子表格的管理和处理任务,支持构建能够生成,修改,转换,呈现和打印电子表格的跨平台应用程序。同时不依赖于Microsoft Excel或任何Microsoft Office Interop组件,Aspose API 支持旗下产品覆盖文档、图表、PDF、条码、OCR、CAD、HTML、电子邮件等各个文档管理领域,为全球.NET 、Java、C ++等10余种平台开发人员提供丰富的开发选择。

用于管理线程评论的 C# Excel API

为了处理 Excel 工作表中的线程注释,我们将使用Aspose.Cells for .NET API。它是一个功能强大的电子表格编程 API,使开发人员能够在 .NET 应用程序中创建、操作和转换 Excel 文件。通过利用 Aspose.Cells for .NET,我们可以轻松地在 Excel 工作表中添加、读取、编辑或删除线程注释。

要使用 API,请下载 DLL或使用以下命令从NuGet安装它:

PM> Install-Package Aspose.Cells
使用 C# 在 Excel 中添加线程注释
  1. 创建Workbook类的实例。
  2. 通过索引访问特定工作表。
  3. 使用Add()方法将作者添加到ThreadedCommentAuthors集合。
  4. 通过索引获取新创建的作者的ThreadedCommentAuthor类对象。
  5. 使用AddThreadedComment()方法添加线程注释。该方法以单元格名称、注释文本和 ThreadedCommentAuthor 对象作为参数。
  6. 使用Workbook.Save(string)方法保存 Excel 文件。

以下代码示例显示如何使用 C# 向 Excel 工作表添加线程注释

// This code example demonstrates how to add threaded comments in an Excel worksheet
// Create an instance of the Workbook class
Workbook workbook = new Workbook();// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];// Add an Author
var authorIndex = workbook.Worksheets.ThreadedCommentAuthors.Add("Aspose Test", "", "");
var author = workbook.Worksheets.ThreadedCommentAuthors[authorIndex];// Add Threaded Comment
worksheet.Comments.AddThreadedComment("A1", "Test Threaded Comment", author);// Save the output file
workbook.Save("AddThreadedComments_out.xlsx");
阅读 Excel 中特定单元格的线程注释

要从 Excel 工作表中的指定单元格读取线程注释,请按照以下步骤操作:

  1. 使用Workbook类加载现有的 Excel 文件。
  2. 通过索引访问工作表。
  3. 使用GetThreadedComments()方法获取特定单元格的线程注释。该方法以单元格名称作为参数。
  4. 循环浏览所有主题评论并阅读详细信息。

以下代码示例显示如何使用 C# 从 Excel 工作表中读取指定列的线程注释

// This code example demonstrates how to read threaded comments for a specified cell in an Excel worksheet
// Load an existing Excel file
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];// Get Threaded Comments for a specific cell
var threadedComments = worksheet.Comments.GetThreadedComments("A1");// Read the threaded comments
foreach (var comment in threadedComments)
{
Console.WriteLine("Author Name: " + comment.Author.Name);
Console.WriteLine("Threaded comment Notes:" + comment.Notes);
}Author Name: author@domain.com
Threaded comment Notes:Test Threaded Comment
使用 C# 读取 Excel 中的所有主题注释

类似地,我们可以按照以下步骤读取 Excel 工作表中所有可用的主题评论:

  1. 使用Workbook类加载现有的 Excel 文件。
  2. 循环浏览所有评论并逐一阅读主题评论。

以下代码示例显示如何使用 C# 从 Excel 工作表读取所有线程注释

// This code example demonstrates how to read threaded comments for a specified cell in an Excel worksheet
// Load an existing Excel file
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];// Get all the comments
var comments = worksheet.Comments;// Read all the threaded comments
foreach (var comment in comments)
{
// Process threaded comments
foreach (var threadedComment in comment.ThreadedComments)
{
Console.WriteLine("Author Name: " + threadedComment.Author.Name);
Console.WriteLine("Threaded comment author User Id: " + threadedComment.Author.UserId);
Console.WriteLine("Threaded comment author ProviderId:" + threadedComment.Author.ProviderId);
Console.WriteLine("Threaded comment Notes:" + threadedComment.Notes);
}
}
使用 C# 在 Excel 中编辑线程注释

请按照以下步骤更新 Excel 中的任何主题评论:

  1. 使用Workbook类加载现有的 Excel 文件。
  2. 通过索引访问工作表。
  3. 使用GetThreadedComments()方法获取特定单元格的线程注释。该方法以单元格名称作为参数。
  4. 更新评论的注释属性。
  5. 使用Workbook.Save(string)方法保存 Excel 文件。

以下代码示例展示如何使用 C# 编辑 Excel 工作表中的线程注释

// This code example demonstrates how to edit threaded comments in an Excel worksheet
// Load an existing Excel file
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];// Get Threaded Comments for a specific cell
var threadedComments = worksheet.Comments.GetThreadedComments("A1");
var comment = threadedComments[0];// Update the comment note
comment.Notes = "Updated Comment";// Save the output file
workbook.Save("EditThreadedComments.xlsx");
使用 C# 删除 Excel 中的主题评论

我们还可以按照以下步骤删除Excel工作表中特定单元格的线程注释:

  1. 使用Workbook类加载现有的 Excel 文件。
  2. 通过索引访问工作表。
  3. 使用RemoveAt()方法从评论集合中删除评论。该方法以单元格名称作为参数。
  4. 使用Save(string)方法保存Excel文件。

以下代码示例显示如何使用 C# 删除 Excel 工作表中的线程注释

// This code example demonstrates how to delete threaded comments in an Excel worksheet
// Load an existing Excel file
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");// Get all the comments
var comments = workbook.Worksheets[0].Comments;// Remove Comments
comments.RemoveAt("A1");// Save the output file
workbook.Save("DeleteThreadedComments.xlsx");
结论

在本文中,我们学习了如何使用 C# 读取、添加、编辑和删除 Excel 工作表中的线程注释。通过利用 Aspose.Cell for .NET,您可以轻松地在 C# 应用程序中操作 Excel 工作表。

相关文章:

借助Aapose.Cells 使用 C# 在 Excel 中读取、添加和编辑线程注释

Excel 中的线程注释是协作工作的重要功能。它允许多个用户在共享文档中添加、编辑和查看对话线程。在某些情况下,我们可能需要以编程方式管理这些线程注释。在这篇博文中,我们将学习如何使用 C# 在 Excel 中读取、添加和编辑线程注释。 Aspose.Cells 是…...

关于c++ grpc 和 c# grpc 通信的问题 以及 grpc 认证问题

一、c 和 c# 通信 c# 端服务器 如果域名 输入的是 https ,则 c 端需要匹配使用,也就是c 端需要进行安全认证。如果是http 则c 端不需要认证(基于c#的grpc 未 通信成功) 参考如下网址可以写一个简单的 .net grpc服务器 &#xff08…...

C++进阶(14)类型转换、IO流

文章目录 一、类型转换C语言隐式类型转换强制类型转换 C类型转换的情况类型转换的函数(4个) 二、IO流1、缓冲区2、提高输入输出效率3、文件操作文件权限写操作 --- ofstream文本方式写入二进制方式写入 读操作 --- ifstream文本方式读取二进制方式读取 其…...

配置oss cdn加速静态资源访问 阿里云

效果对比 配置cdn下载速度对比 步骤 1: 登录阿里云控制台控制台主页,找到并点击“对象存储 OSS” 创建存储空间(Bucket) 设置权限 步骤 2: 获取外网访问地址 步骤 3 在 CDN 中使用该地址 复制该外网访问地址 打开全站加速 DCDN/域名管理 添…...

实现 前端框架 SPA 路由功能:Hash 模式与 History 模式的手动实现

前言 在前端框架(如 Vue.js、React 等)中,路由管理通常会配置一个 router 对象来定义 URL 路径与组件的映射关系。 路径(path): 这是浏览器 URL 的一部分,比如 /home 或 /about。组件(compone…...

去中心化的新时代:Web3技术的全球影响

随着技术的不断演进,Web3正引领互联网的去中心化新时代。相较于传统的Web1和Web2,Web3通过去中心化、区块链和智能合约等技术,正在重塑网络的运作方式。这一变革不仅提升了网络的安全性和透明度,也对全球经济、社会和文化产生了深…...

初始redis:List

列表 List 相当于数组或者顺序表。 对于List来说,两侧都可以插入和删除,时间复杂度是O(1)。 有很多的操作,比如 llen 可以获取List的长度,lrem 可以删除元素 ,lrange可以去一个字符串 , lindex可以根据下标…...

Java | Leetcode Java题解之第355题设计推特

题目&#xff1a; 题解&#xff1a; class Twitter {private class Node {// 哈希表存储关注人的 IdSet<Integer> followee;// 用链表存储 tweetIdLinkedList<Integer> tweet;Node() {followee new HashSet<Integer>();tweet new LinkedList<Integer&g…...

MVC与三层架构分层

1. 应用分层 应用分层类似公司的组织架构。我们进行项目开发时&#xff0c;最开始功能简单&#xff0c;前后端放在一起开发&#xff0c;但随着项目功能的复杂&#xff0c;项目会被前端和后端不同的团队接手&#xff0c;甚至更细粒度的团队。甚至后端开发也会根据功能再进行细分…...

Go语言基础--switch

在Go语言中&#xff0c;switch语句是一种非常强大的控制流结构&#xff0c;它允许一个变量的值与多个case进行比较&#xff0c;并根据匹配的结果执行不同的代码块。与C、C或Java中的switch不同&#xff0c;Go语言的switch更灵活&#xff0c;支持没有显式条件的switch&#xff0…...

【数字ic自整资料】AXI握手协议及outstanding

参考资料&#xff1a; ic基础|时序篇&#xff1a;握手协议valid和ready的时序优化_valid和ready握手信号-CSDN博客 https://zhuanlan.zhihu.com/p/365573848 1、AXI握手协议 当我们遇到时序违例时&#xff0c;通常采用的方式为插入寄存器&#xff08;打拍&#xff09;或者是…...

C++ //练习 18.13 什么时候应该使用未命名的命名空间?

C Primer&#xff08;第5版&#xff09; 练习 18.13 练习 18.13 什么时候应该使用未命名的命名空间&#xff1f; 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释 当需要将实体限定在特定文件中&#xff0c;并且不会作用于不同文件…...

yum小bug

这个错误是在克隆的机子上安装mysql时&#xff0c;查看有无mysql发现的 [rootwebserve-2 backup] # yum list installed | grep mysql Repository cr is listed more than once in the configuration Repository fasttrack is listed more than once in the configuration 这…...

GDB的基本使用

我有话说 因为时间和精力原因&#xff0c;本文写的虎头蛇尾了&#xff0c;除了启动调试与程序执行以外只有少量截图演示&#xff0c;只是简单的说明。如果有需要可以联系我&#xff0c;我有时间的话会把演示补上&#xff0c;谢谢理解。 启动调试与程序执行 启动调试并传递参数…...

如何利用AI创作高质量的文章

讯飞星火 利用AI创作高质量的文章需要遵循以下步骤&#xff1a; 确定主题和目标受众&#xff1a;在开始写作之前&#xff0c;明确文章的主题和目标受众。这将帮助你确定文章的风格、结构和内容。 收集资料和信息&#xff1a;在撰写文章之前&#xff0c;进行充分的研究&#x…...

开源的量化交易领域平台vn.py(VeighNa)

一&#xff1a;vn.py&#xff08;VeighNa&#xff09;下的工具以及社区版和Elite版的区别 vn.py是一款广泛应用于量化交易领域的开源软件&#xff0c;它主要有以下用途和功能&#xff1a; 1. 交易系统开发框架&#xff1a;vn.py提供了一个完整的交易系统开发框架&#xff0c;可…...

选择搜索引擎进行搜索

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>选择搜索引擎进行搜索</title><script>function searchSelectedEngine() {var keyword document.getElementById(keyword).value;var engine document.getEl…...

安卓framework修改density

安卓平台,不同屏幕分辨率需要修改density值,以适配UI显示,比如字体大小等. 命令行下进入安卓SDK源码的device/目录 再根据不同芯片厂进入不同目录, 比如展锐就是 cd device/sprd, 高通是device/qcom/搜索关键字"ro.sf.lcd_density", grep -nr “ro.sf.lcd_density”…...

我们如何将数据输入到神经网络中?

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 下面我拿识别美女的例子来给大家介绍如何将美女的图片数据输入到神经网络中。 此例中&#xff0c;待输入的数据是一张图像。为了存储图像…...

基于python模板的药品名称识别系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…...

Arm Neoverse CMN-700 HN-F寄存器架构与缓存一致性配置详解

1. Arm Neoverse CMN-700 HN-F寄存器架构概述在现代SoC设计中&#xff0c;一致性互连网络&#xff08;Coherent Mesh Network&#xff09;是实现多核处理器高效协同工作的核心基础设施。作为Arm Neoverse平台的关键组件&#xff0c;CMN-700通过其独特的网格拓扑结构和分布式节点…...

STM8硬件IIC驱动BNO055传感器避坑指南(附完整代码)

STM8硬件IIC驱动BNO055传感器实战解析与优化 BNO055作为一款集成了9轴传感器融合算法的智能芯片&#xff0c;能够直接输出姿态角数据&#xff0c;极大简化了嵌入式系统中姿态解算的复杂度。然而在实际应用中&#xff0c;许多开发者发现使用STM32等常见MCU的模拟IIC接口难以稳定…...

Onekey:重构Steam Depot清单下载流程的现代化解决方案

Onekey&#xff1a;重构Steam Depot清单下载流程的现代化解决方案 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey Onekey作为一款专为Steam Depot清单设计的自动化下载工具&#xff0c;通过其创…...

Navis:开源项目标准化开发环境与工具链配置框架实践

1. 项目概述&#xff1a;一个为开发者打造的“导航星图”如果你和我一样&#xff0c;常年混迹在开源项目的海洋里&#xff0c;那么你一定对这种感觉不陌生&#xff1a;面对一个全新的、功能强大的开源工具&#xff0c;兴奋地克隆了仓库&#xff0c;然后……就卡在了第一步。REA…...

学生综合素质评价系统设计实现【附程序】

✨ 长期致力于综合素质评价、AHP层次分析、BP神经网络、遗传算法研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;三层指标体系构建与AHP动态权重分配&…...

MongoDB 4.4+ 版本后,手把手教你搞定mongodump独立安装与配置(附环境变量设置)

MongoDB 4.4独立工具链部署指南&#xff1a;从零构建mongodump备份环境 当你在全新的Linux服务器上部署了MongoDB 4.4或更新版本&#xff0c;准备执行例行数据库备份时&#xff0c;在终端输入熟悉的mongodump命令却只得到command not found的响应——这不是你的操作失误&#…...

从warmup_csaw_2016看栈溢出利用的本质:绕过NX/ASLR?不,这次我们先学‘计算’

从warmup_csaw_2016看栈溢出利用的本质&#xff1a;计算的艺术 在二进制安全领域&#xff0c;栈溢出常被初学者视为"魔法攻击"——只需覆盖返回地址就能获得控制权。但当我们剥开NX/ASLR等现代保护机制的外衣&#xff0c;会发现精确计算才是漏洞利用的永恒核心。2016…...

ElevenLabs奥里亚文语音合规性警告:印度《2023语言技术法案》生效后,这4类商用场景必须重做语音备案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs奥里亚文语音合规性警告的背景与紧迫性 ElevenLabs 作为领先的文本转语音&#xff08;TTS&#xff09;服务提供商&#xff0c;近期在其 API 文档与开发者控制台中新增了针对奥里亚文&#xf…...

ElevenLabs泰米尔文语音API调用性能突降?紧急修复方案:更换Region为ap-southeast-1后P95延迟从2.4s降至380ms(附curl压测脚本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs泰米尔文语音API性能突降事件全貌 2024年9月中旬起&#xff0c;多位集成ElevenLabs泰米尔文&#xff08;ta-IN&#xff09;语音合成服务的开发者报告异常延迟与高失败率——典型请求响应时间…...

合宙BluePill开发板:9.9元ARM Cortex-M核心板硬件解析与实战指南

1. 项目概述&#xff1a;一块“炸场”的开发板意味着什么最近在嵌入式开发圈子里&#xff0c;一块名为“合宙BluePill”的新品开发板以9.9元包邮的价格开售&#xff0c;瞬间点燃了众多开发者、电子爱好者和学生群体的热情。这个价格&#xff0c;别说是一块功能完整的开发板&…...