wpsjs学习——获取单元格批注

1.获取第一个单元格的值:

wps.Application.ActiveSheet.Range('A1').Value2;

2.1.获取第一个单元格的批注:

wps.Application.ActiveSheet.Range('A1').Comment.Text();

<div class="global">获取表格信息<div class="divItem"><button style="margin: 3px" @click="onbuttonclick('fileName')">表格名称4</button><button style="margin: 3px" @click="onbuttonclick('sheetName')">表格当前页签名称</button><button style="margin: 3px" @click="onbuttonclick('bookCount')">页签数量</button><button style="margin: 3px" @click="onbuttonclick('cellComent')">第一个单元格批注</button><button style="margin: 3px" @click="onbuttonclick('getCellComent')">手动选中单元格获取批注</button><button style="margin: 3px" @click="onbuttonclick('getCellValue')">获取选中区域的值</button><buttonstyle="margin: 3px"@click="onbuttonclick('getSelectCellComment')">获取选中区域的批注</button><button style="margin: 3px" @click="onbuttonclick('getRowCount')">获取表格已使用行数</button><button style="margin: 3px" @click="onbuttonclick('getColumnCount')">获取表格已使用列数</button><button style="margin: 3px" @click="onbuttonclick('getSheetComment')">获取当前sheet页中所有批注信息</button><button style="margin: 3px" @click="onbuttonclick('getAllComment')">获取所有sheet页中所有批注信息</button></div><hr /><div class="divItem">信息:<span>{{ info }}</span></div></div>
function onbuttonclick(idStr, param) {console.log(param);switch (idStr) {case "fileName": {return wps.Application.ActiveWorkbook.Name;}case "sheetName": {return wps.Application.ActiveWorkbook.ActiveSheet.Name;}case "bookCount": {return wps.Application.ActiveWorkbook.Worksheets.Count;}case "cellComent": {// 第一个单元格批注return wps.Application.Worksheets.Item("Sheet1").Range("A1").Comment.Text();}case "getCellComent": {let arr = wps.Application.InputBox("选中单元格",undefined,undefined,undefined,undefined,undefined,undefined,8).Comment;if (arr) {alert(`获取到的批注是:${arr.Text()}`);} else {alert("无效单元格或未设置批注信息");}break;}// 获取选中区域的值case "getCellValue": {let value = wps.Application.Selection.Value2;if (value) {if (typeof value == "string") {// alert('值:'+value);return `值: ${value}`;} else if (typeof value == "number") {// alert('值:'+value.join(','));return `值:${value}`;} else if (Array.isArray(value)) {return `值:${value.join(",")}`;}} else {// alert('未设值')return "未设值";}break;}// 获取选中区域的批注case "getSelectCellComment": {let str = getComment(wps.Application.Selection.Address());return `批注信息:${str}`;}// 获取总行数case "getRowCount": {let count = wps.Application.ActiveSheet.UsedRange.Rows.Count;return count;}// 获取总列数case "getColumnCount": {let count = wps.Application.ActiveSheet.UsedRange.Columns.Count;return count;}// 获取当前sheet页所有批注case "getSheetComment": {let str = getSheetComment();return str;}// 获取所有sheet页所有批注case "getAllComment": {let str = "";let count = wps.Application.Worksheets.Count;for (let i = 1; i <= count; i++) {str += `页签${wps.Application.Worksheets.Item(i).Name}:${getSheetComment(i)}\n`;}return str;}}
}function getComment(addr) {console.log("选中区域:", wps.Application.Selection.Address());addr = addr.replaceAll("$", "");if (!addr.includes(",") && !addr.includes(":")) {let arr = wps.Application.ActiveWorkbook.ActiveSheet.Range(addr).Comment;if (arr) {// alert('获取到的批注是:'+arr.Text());return `获取到的批注是:${arr.Text()}`;} else {return "无效单元格或未设置批注信息";// alert('无效单元格或未设置批注信息');}} else {let list = addr.split(",");let str = "";list.forEach((item) => {if (!item.includes(":")) {let c = wps.Application.ActiveWorkbook.ActiveSheet.Range(item).Comment;if (c) {str += `${c.Text()} `;}} else {let aa = item.split(":");console.log("1", aa[1].substr(0, 1), "2", aa[0].substr(0, 1));let length =aa[1].substr(0, 1).charCodeAt() - aa[0].substr(0, 1).charCodeAt();let height =aa[1].substr(1, aa[1].length) - aa[0].substr(1, aa[0].length);console.log("len", length);console.log("hei", height);// 拼接成二维数组for (let i = 0; i <= height; i++) {for (let j = 0; j <= length; j++) {let char = String.fromCharCode(aa[0].charCodeAt() + j);let b = Number(aa[0].substr(1, aa[0].length)) + i;let c = wps.Application.ActiveWorkbook.ActiveSheet.Range(char + b).Comment;console.log("char", char + b);if (c) {str += `${c.Text()} `;}}}}});return str;}
}
function getSheetComment(index) {let rowCount = 1;let columnCount = 1;let cells = null;let range = "";if (!index) {// 获取表格已用行和列rowCount = wps.Application.ActiveSheet.UsedRange.Rows.Count;columnCount = wps.Application.ActiveSheet.UsedRange.Columns.Count;cells = wps.Application.ActiveSheet.Cells;range = Application.ActiveSheet.UsedRange.Address(); // 获取表格数据范围,如'$C$3:$E$3'} else {rowCount = wps.Application.Worksheets.Item(index).UsedRange.Rows.Count;columnCount =wps.Application.Worksheets.Item(index).UsedRange.Columns.Count;cells = wps.Application.Worksheets.Item(index).Cells;range = wps.Application.Worksheets.Item(index).UsedRange.Address();}console.log(rowCount, columnCount);let str = "";let aa = range.replaceAll("$", "").split(":");console.log("1", aa[1].substr(0, 1), "2", aa[0].substr(0, 1));let length =aa[1].substr(0, 1).charCodeAt() - aa[0].substr(0, 1).charCodeAt();let height = aa[1].substr(1, aa[1].length) - aa[0].substr(1, aa[0].length);console.log("len", length);console.log("hei", height);// 拼接成二维数组,依次遍历每个单元格for (let i = 0; i <= height; i++) {for (let j = 0; j <= length; j++) {let char = String.fromCharCode(aa[0].charCodeAt() + j); // 获取对应的字母,如Alet b = Number(aa[0].substr(1, aa[0].length)) + i; // 获取行let comment = null;if (index) {// 获取单元格批注comment = wps.Application.Worksheets.Item(index).Range(char + b).Comment; // Range('A3')} else {comment = wps.Application.ActiveWorkbook.ActiveSheet.Range(char + b).Comment;}console.log("char", char + b);if (comment) {str += `${comment.Text()} `;if (comment.Text().includes("RangeData")) {comment = JSON.parse(comment.Text().replaceAll("\n", ""));console.log("getRangeData", comment.RangeData);getRangeData(index, comment.RangeData);}}}}return str;
}// 请求接口获取范围数据
function getRangeData(index, range) {console.log("获取范围数据", index, range);request.post("https://aa.com/api/common/getinfo").then((res) => {console.log(`${range}:范围数据`, res);if (res && res.data) {setRangeData(index, range, res.data);}});// 设置默认数据let list = [[1, 2, 3, 4, 5, 6, 7],[1, 2, 3, 4, 5, 6, 7],];setRangeData(index, range, list);
}// 向序号页签表内range范围内插入数据
function setRangeData(index, range, data) {if (index) {wps.Application.Worksheets.Item(index).Range(range).Value2 = data;} else {// 当前sheet页wps.Application.ActiveSheet.Range(range).Value2 = data;}
}

 

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

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

相关文章

厚积薄发11年,鸿蒙究竟有多可怕

​12月20日中国工程院等权威单位发布《2023年全球十大工程成就》。本次发布的2023全球十大工程成就包括“鸿蒙操作系统”在内。入围的“全球十大工程成就”&#xff0c;主要指过去五年由世界各国工程科技工作者合作或单独完成且实践验证有效的&#xff0c;并且已经产生全球影响…

Zernike多项式法生成相位理论推导及图像引导实现原理

目录 引言 波前传感器 ​编辑 关于相位计算问题补充 关于结构图的修正 光束质量评价指标 Zernike多项式 ​编辑Zernike多项式法生成相位 光强分布求波前相位-GS 更快的迭代方法SPGD 基于Zernike模式的SPGD 引言 我们还是先从第一篇文献开始理解展开今天分享的一些重…

并查集(C++)

目录 一、并查集的原理二、并查集的实现路径压缩 三、并查集的应用结尾 一、并查集的原理 并查集的两个功能&#xff1a; 合并&#xff1a;合并两个不想联系的元素查询&#xff1a;判断两个元素是否在同一个组内 主要解决的是元素分组的问题。 例如&#xff1a;某班级要创建…

数据迁移怎么测,都有哪些步骤?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;软件测试面试题分享&#xff1a; 1000道软件测试面试题及答案&#x1f4e2;软件测试实战项目分享&#xff1a; 纯接口项目-完…

gRPC - 分布式 gRPC 四种通信方式、三种代理方式(全代码演示)

目录 一、分布式 gRPC 开发 1.1、项目结构 & 前置说明 1.1.1、项目结构 1.1.2、protoc 必备依赖 1.1.3、推荐插件&#xff08;简化开发&#xff09; 1.1.4、protoc 生成 Java 代码说明 1.2、一元 RPC&#xff08;代理方式一&#xff1a;阻塞式 BlockingStub&#xff…

DFA算法在敏感词过滤的应用

相信大家对于游戏里聊天框的以下内容已经不陌生了 "我***"“你真牛*”“你是不是傻*” 一个垃圾的游戏环境是非常影响玩游戏的心情的&#xff0c;看到这些&#xff0c;就知道游戏已经帮我们屏蔽掉了那些屏蔽字了&#xff0c;对于玩游戏而言&#xff0c;心里会好受很…

D48|动态规划之编辑距离

583.两个字符串的删除操作 初始思路: 大概能想到定义dp数组为最少的删除次数 想不明白递归公式应该怎么推导 题解复盘&#xff1a; 第一种思路&#xff1a;dp[i][j]所需要删除元素的最少次数. 递归公式五部曲; 1)dp数组的定义&#xff1a; dp[i][j]&#xff1a;以i-1为结尾的…

力扣1944.队列中可以看到的人数--单调栈

思路&#xff1a; 由题知一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 &#xff0c;也就是说&#xff0c;在自己右边第一个比自己高的人后面的人就肯定看不到了那么只需要找到右边第一个比自己高的人与自己之间的所有满足要求的人就行了&#xff0…

JDBC数据库访问——数据库操作

与指定的数据库建立连接后&#xff0c;就可以使用JDBC提供的API对数据库进行操作&#xff0c;包括查询、新增、更新、删除等。 1.查询操作 和数据库建立连接后&#xff0c;对数据库表进行查询操作的步骤如下&#xff1a; ①创建statement对象 由已创建的Connection对象con调…

透明OLED屏:种类与技术特点

作为一名专注于OLED技术研发的工程师&#xff0c;同时在尼伽工作多年&#xff0c;有幸能够参与到透明OLED屏的研发过程中。透明OLED屏作为一种新型显示技术&#xff0c;以其独特的透明特性和优秀的画质表现&#xff0c;正逐渐在各个领域崭露头角。在这篇文章中&#xff0c;我将…

GROUP_CONCAT报错解决

有如下表 其中awardee和awardee_unit都是保存的json类型的字符串, awardee是多个人员id, awardee_unit是部门的全路径 查询时要注意转换 需要将name拼接起来合并成一行,直接 GROUP_CONCAT 会报错 百度的大部分答案是修改数据库配置去掉严格模式,如果不方便修改数据库可以这样…

使用Go语言的HTTP客户端库进行API调用

随着微服务架构和RESTful API的普及&#xff0c;API调用成为了日常开发中的常见任务。Go语言提供了多种工具和库来帮助开发者轻松地与API进行交互。本文将介绍如何使用Go语言的HTTP客户端库进行API调用。 在Go语言中&#xff0c;标准库中的net/http包提供了基本的HTTP客户端功…

2023春季李宏毅机器学习笔记 06 :Diffusion Model 原理剖析

资料 课程主页&#xff1a;https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.phpGithub&#xff1a;https://github.com/Fafa-DL/Lhy_Machine_LearningB站课程&#xff1a;https://space.bilibili.com/253734135/channel/collectiondetail?sid2014800 一、想法概念 Q1&…

基于哈里斯鹰算法优化的Elman神经网络数据预测 - 附代码

基于哈里斯鹰算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于哈里斯鹰算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于哈里斯鹰优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&…

C++学习day--25 俄罗斯方块游戏图像化开发

项目分析 项目演示、项目分析 启动页面 启动页面&#xff1a; 分析&#xff1a; 开发环境搭建 1&#xff09;安装vc2010, 或其他vs版本 2&#xff09;安装easyX图形库 代码实现: # include <stdio.h> # include <graphics.h> void welcome(void) { initgraph(55…

鹿目标检测数据集VOC格式500张

鹿&#xff0c;一种优雅而神秘的哺乳动物&#xff0c;以其优美的外形和独特的生态习性而备受人们的喜爱。 鹿的体型通常中等&#xff0c;四肢细长&#xff0c;身体线条流畅。它们的头部较小&#xff0c;耳朵大而直立&#xff0c;眼睛明亮有神。鹿的毛色因品种而异&#xff0c;…

计算机Java项目|Springboot医院固定资产系统

项目编号&#xff1a;L-BS-ZXBS-06 一&#xff0c;环境介绍 语言环境&#xff1a;Java: jdk1.8 数据库&#xff1a;Mysql: mysql5.7 应用服务器&#xff1a;Tomcat: tomcat8.5.31 开发工具&#xff1a;IDEA或eclipse 二&#xff0c;项目简介 困扰医院管理的许多问题当…

Spring学习 Spring IOC

创建工程&#xff1a; 2.1.程序的耦合 耦合&#xff1a;耦合指的就是对象之间的依赖关系。对象之间的耦合越高&#xff0c;维护成本越高。 案例&#xff1a;没有引入IOC容器时系统的Web层、业务层、持久层存在耦合 /*** 持久层实现类*/ public class UserDaoImpl implements U…

SpringBoot内嵌的Tomcat启动过程以及请求

1.springboot内嵌的tomcat的pom坐标 启动后可以看到tomcat版本为9.0.46 2.springboot 内嵌tomcat启动流程 点击进入SpringApplication.run()方法里面 看这次tomcat启动相关的核心代码refreshContext(context);刷新上下文方法 public ConfigurableApplicationContext run(Stri…

微信小程序如何搜索iBeacon设备

1.首先在utils文件夹下创建bluetooth.js和ibeacon.js 2.在 bluetooth.js文件中写入 module.exports {initBluetooth: function () {// 初始化蓝牙模块wx.openBluetoothAdapter({success: function (res) {console.log(蓝牙模块初始化成功);},fail: function (res) {console.l…