如何将Google Sheets单元格内的链接转换为HTML锚标签?
解决Google Sheets中Ctrl+K插入的超链接转HTML标签问题
我想把Google Sheets里用**Insert Link (Ctrl+K)**插入的超链接,转换成类似这样的HTML格式:
I have some hyperlinked text.
但这类通过格式插入的链接属于单元格的格式属性,无法直接通过常规方式提取转换。
解决方法:使用Google Apps Script提取并生成HTML标签
- 打开目标Google Sheets文档,点击顶部菜单栏「扩展程序」→「Apps 脚本」
- 清空编辑器默认代码,粘贴以下脚本:
function convertLinksToHTML() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const range = sheet.getDataRange(); const richTextValues = range.getRichTextValues(); for (let row = 0; row < richTextValues.length; row++) { for (let col = 0; col < richTextValues[row].length; col++) { const richText = richTextValues[row][col]; const text = richText.getText(); let htmlText = text; const links = richText.getLinks(); if (links.length > 0) { links.forEach(link => { const start = link.getStartIndex(); const end = link.getEndIndex(); const url = link.getUrl(); const linkText = text.substring(start, end); htmlText = htmlText.replace(linkText, `<a href="${url}">${linkText}</a>`); }); sheet.getRange(row + 1, col + 2).setValue(htmlText); } } } SpreadsheetApp.getUi().alert('转换完成!结果已写入右侧相邻列'); }
- 点击编辑器「保存」按钮,给脚本命名(比如「LinkToHTML」)
- 返回Google Sheets,点击「扩展程序」→「LinkToHTML」→「convertLinksToHTML」,授权权限后执行脚本
- 脚本会自动将工作表中所有带Ctrl+K链接的单元格,转换为HTML格式文本并写入对应单元格的右侧相邻列
内容的提问来源于stack exchange,提问作者Chopin23
相关产品推荐
相关产品推荐

