You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Apps Script批量翻译Google Sheets内容并保留格式?

解决Google Sheets批量翻译保留表格格式的问题

问题根源是LanguageApp.translate接收二维数组时会自动将其扁平化为逗号分隔的字符串,导致翻译结果丢失原有的行/单元格结构。

解决方案

保留原二维数组的结构,逐个翻译数组内的非空元素,处理后的数组可直接用setValues写入,完美对应原表格格式,且无需逐单元格操作或添加延迟。

修改后的代码示例:

var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("你的工作表名称"); // 替换为实际表名
var range1 = sheet1.getRange("A:A").getValues(); // 获取原数据的二维数组
var translatedText = range1.map(row => 
  row.map(cell => cell ? LanguageApp.translate(cell, 'ko', 'en') : '')
);
// 将翻译结果写入目标列(示例为B列)
sheet1.getRange(1, 2, translatedText.length, translatedText[0].length).setValues(translatedText);

代码说明

  • range1.map(row => ...):遍历原数组的每一行(对应表格的每一行)
  • row.map(cell => ...):遍历每行中的每个单元格(对应表格的每个单元格)
  • cell ? LanguageApp.translate(...) : '':仅对非空单元格执行翻译,空单元格保持为空,避免产生多余内容
  • 用setValues一次性写入翻译后的二维数组,效率远高于逐单元格操作,且完全保留原表格的行/列结构

效果验证

原数据数组[[안녕하세요], [사과], [], [바나나]]经过处理后,会得到:
[[hello], [apple], [], [banana]]
直接写入表格后,每个内容会对应到原位置的单元格中,不会出现合并到一个单元格的问题。

内容的提问来源于stack exchange,提问作者icecream sugar black

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:20:41