快速跳转 1. 发现问题2. 解决思路3. 代码实现 1. 发现问题 说明: 1. 在项目中发现使用模板自带的目录超链接跳转sheet 不触发提前设置好的监听, 无法执行后续功能, 影响正常使用 2. 通过电话咨询葡萄城开发人员, 答复: 暂时没有超链接跳转sheet 监听功能 3. 通过查找资料和论坛说明有了简单的想法, 并着手实现监听目录页超链接跳转sheet 功能 2. 解决思路 1. 想到点击超链接会触发单元格状态改变所以监听 GC.Spread.Sheets.Events.SelectionChanged 事件 2. 根据监听获取当前sheet 及当前点击的单元格, 通过spread 提供的 getHyperlink 方法获取当前单元格是否为超链接 3. 然后根据获取的结果再次开启监听解决问题 3. 代码实现 activeSheet.bind(GC.Spread.Sheets.Events.SelectionChanged , (e, info) => { const sheet = this.spread.getActiveSheet(); const activeSelections = sheet.getSelections(); if (activeSelections.length) { const hyperLinkInfo = sheet.getHyperlink(activeSelections[0].row, activeSelections[0].col); if (hyperLinkInfo && hyperLinkInfo.url) { setTimeout(() => { // 这里使用延时给予模板跳转反应时间 // 开启监听 /* GC.Spread.Sheets.Events.ActiveSheetChanged 同样调用this.watchActiveSheet 函数处理 */ this.watchActiveSheet(hyperLinkInfo) }, 200) } } });