找回密码
 立即注册

QQ登录

只需一步,快速开始

Richard.Huang SpreadJS 开发认证

超级版主

43

主题

3222

帖子

4999

积分

超级版主

Rank: 8Rank: 8

积分
4999

SpreadJS 认证SpreadJS 高级认证

Richard.Huang SpreadJS 开发认证
超级版主   /  发表于:2024-1-30 16:23  /   查看:1793  /  回复:1
背景

超链接单元格是大家常见的单元格类型,可以很方便的让用户访问他们需要的链接,大家会发现,如果超链接较少,那么一个一个点击倒不是一个很麻烦的操作,但是如果出现大量超链接需要点击,一旦数量在10个往上,那么一个一个点击就不再是一个很有好的操作,批量访问的功能就迫在眉睫了

实现方式

我们只要在右键菜单中插入一个批量访问的按钮,当用户点击该按钮时,就去轮询用户选择的区域,只要选择区域中的单元格为超链接类型的单元格,我们就新建一个标签页去访问该链接即可

核心代码
  1. function (spread, options) {
  2.   let activeSheet = spread.getActiveSheet();
  3.   let selections = options.selections;
  4.   let links = [];
  5.   selections.forEach(element => {
  6.       let row = element.row;
  7.       let col = element.col;
  8.       let rowCount = element.rowCount;
  9.       let colCount = element.colCount;
  10.       for (let i = row; i < row + rowCount; i++) {
  11.           for (let j = col; j < col + colCount; j++) {
  12.               if (activeSheet.getCellType(i, j) instanceof GC.Spread.Sheets.CellTypes.HyperLink) {
  13.                   links.push(activeSheet.getValue(i, j));
  14.               }
  15.           }
  16.       }
  17.   });
  18.   while (links.length > 0) {
  19.       window.open(links.pop(), '_blank')
  20.   }
  21. }
复制代码
完整实现demo


SpreadJS批量打开链接.html

5.17 KB, 下载次数: 243

1 个回复

倒序浏览
nobt
论坛元老   /  发表于:2024-1-30 16:25:32
沙发
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部