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

Google Apps Script中PasteDataRequest如何按列粘贴而非按行粘贴

问题说明

现有脚本可正常执行值粘贴操作,但默认从指定坐标开始沿行横向粘贴内容,需调整为沿列纵向粘贴。

  • 示例输入数据:Car, cat, bat, rat
  • 当前横向粘贴效果:
| Car | cat | bat | rat |
  • 期望纵向粘贴效果:
Car |
___ 
cat |
___
bat |
___
rat |
现有代码
var gridCoordinate = Sheets.newGridCoordinate()
gridCoordinate.sheetID = sheet.getSheetID()
gridCoordinate.rowIndex = "1"
gridCoordinate.columnIndex = "1"

let pasteRequest = Sheets.newPasteDataRequest()
pasteRequest.data = inputValues
pasteRequest.type = SpreadsheetApp.CopyPasteType.PASTE_VALUES
pasteRequest.coordinate = gridCoordinate 
pasteRequest.delimiter = ","

let requests = [Sheets.newRequest()]
requests[0].pasteData = pasteRequest;

let batchUpdateRequest = Sheets.newBatchUpdateSpreadsheetRequest();
batchUpdateRequest.requests = requests

var result = Sheets.Spreadsheets.batchUpdate(batchUpdateRequest, "REDACTED")
Logger.log(result)

约束说明:根据PasteDataRequest官方文档要求,inputValues必须为逗号分隔的字符串。

实现方法

在PasteDataRequest配置中新增transpose属性,赋值为true即可。粘贴时API会自动转置拆分后的数据,原本横向排列的单行多列数据会转为纵向排列的单列多行,无需修改原始输入的逗号分隔格式,满足文档约束要求。

修改后的核心配置片段:

let pasteRequest = Sheets.newPasteDataRequest()
pasteRequest.data = inputValues
pasteRequest.type = SpreadsheetApp.CopyPasteType.PASTE_VALUES
pasteRequest.coordinate = gridCoordinate 
pasteRequest.delimiter = ","
pasteRequest.transpose = true // 新增该行,开启转置实现纵向粘贴

内容的提问来源于stack exchange,提问作者TIsConfused

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:54:25