Richard.Huang 发表于 2024-1-30 16:23:56

批量打开超链接单元格

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

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

核心代码
function (spread, options) {
let activeSheet = spread.getActiveSheet();
let selections = options.selections;
let links = [];
selections.forEach(element => {
      let row = element.row;
      let col = element.col;
      let rowCount = element.rowCount;
      let colCount = element.colCount;
      for (let i = row; i < row + rowCount; i++) {
          for (let j = col; j < col + colCount; j++) {
            if (activeSheet.getCellType(i, j) instanceof GC.Spread.Sheets.CellTypes.HyperLink) {
                  links.push(activeSheet.getValue(i, j));
            }
          }
      }
});
while (links.length > 0) {
      window.open(links.pop(), '_blank')
}
}完整实现demo

nobt 发表于 2024-1-30 16:25:32

:hjyzw:
页: [1]
查看完整版本: 批量打开超链接单元格