gpt4 book ai didi

google-apps-script - Google Apps Script - 将电子表格中的数据附加到文档模板中的表格

转载 作者:行者123 更新时间:2023-12-04 17:21:28 25 4
gpt4 key购买 nike

我正在尝试编写一个脚本,该脚本将从 google 表格中获取费用列表,并将它们附加到 google docs 模板中已经存在的表格中。目前我有这个(它说名字的原因是因为我正在用名字和年龄的虚拟数据进行测试):

function myFunction() {

var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet()

var numRows = sheet.getLastRow()
var numColumns = sheet.getLastColumn()

var data = sheet.getRange(1, 1, numRows, numColumns).getValues()


var doc = DocumentApp.openById('13l6O8nmEZgJiZnzumWihsRVOZiq_8vUj6PtBtb9My_0')
var body = doc.getBody()
var tables = body.getTables()
var table = tables[1]

for (var i = 1; i < data.length; i++){
var row = data[i]
var name = row[0]
var age = row[1]
var state = row[2]
var done = 'Done'
//Check to see if line has already been processed or not
if (!state){
sheet.getRange(i + 1, 3).setValue(done)
//Slices out the blank state value
var slice = row.slice(0, numColumns-1)
table.appendTableRow(slice)
}
}
}

这只是向文档添​​加了一个新表,但我找不到向现有数据表添加行的方法我可以每行添加一个单独的单元格,但这没有用,似乎不能/不了解 appendtoRow 指令的工作原理。关于如何最好地做到这一点的任何想法?

最佳答案

要将一行添加到现有表中,您需要使用 appendTableRow()然后 将单元格添加到这个新添加的行。

更改脚本的最后一部分,如下所示(确保您的表确实是文档中的第二个表,因为您使用了 var table = tables[1] )

...
if (!state){
sheet.getRange(i + 1, 3).setValue(done);
//Slices out the blank state value
var slice = row.slice(0, numColumns-1);
Logger.log(slice);
var tableRow = table.appendTableRow();
for(var n in slice){
tableRow.appendTableCell(slice[n]);
}
}
...

关于google-apps-script - Google Apps Script - 将电子表格中的数据附加到文档模板中的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com