背景
超链接单元格是大家常见的单元格类型,可以很方便的让用户访问他们需要的链接,大家会发现,如果超链接较少,那么一个一个点击倒不是一个很麻烦的操作,但是如果出现大量超链接需要点击,一旦数量在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
|
|