Apps Script导入HTML至Sheets后复制出现双引号重复异常
解决Google Sheets复制HTML内容时双引号重复的问题
问题原因
Google Sheets在存储包含双引号的文本时,会自动将单个双引号转义为两个双引号(用于区分单元格内的文本边界)。直接选中单元格复制时,会带出这个转义后的内容;而公式栏显示的是未转义的原始值,所以复制公式栏内容能得到正常HTML代码。
修复方案
修改脚本,改用setRichTextValue方法写入内容,跳过自动转义逻辑:
function importTextFilesAsValues() { var folder = DriveApp.getFolderById('google folder ID'); var files = folder.getFilesByType(MimeType.PLAIN_TEXT); var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; while (files.hasNext()) { var file = files.next(); var content = file.getBlob().getDataAsString(); // 创建富文本对象,直接写入原始HTML内容 var richText = SpreadsheetApp.newRichTextValue() .setText(content) .build(); sheet.getRange(row, 1).setRichTextValue(richText); row++; } }
说明
- 使用
setRichTextValue写入的内容,无论是单元格显示还是直接复制,都会保留原始的双引号格式,无需额外处理。 - 不需要再调用
setNumberFormat("@"),富文本默认以纯文本格式存储内容。
内容的提问来源于stack exchange,提问作者Jason Wright
相关产品推荐
相关产品推荐

