【发布时间】:2020-02-13 04:43:44
【问题描述】:
目标:
使用 Google Script 将数据从一张表写入另一张“数据库”表。
当前状态:
当填写“表单”选项卡并单击绿色按钮时,将触发一个脚本,将数据从“表单”写入“更改订单数据库”选项卡或“行项目数据库”选项卡。将数据写入 Change Order DB 选项卡可以按需要正常工作,没有问题。将数据写入“行项目数据库”选项卡失败。
遇到的问题:
脚本运行时,应将“表单”选项卡上的第 10-50 行写入“行项目数据库”选项卡。我想将在表单选项卡 B7 上找到的 ID# 添加到正在写入的数组的每个行项中。我附上了显示所需结果的屏幕截图。如屏幕截图所示,该脚本应将数据写入 Line Item DB 选项卡。 A 列是更改顺序 #(来自表格选项卡上的单元格 B7,然后每一行是第 10-50 行的数组。
当前脚本:
function SubmitChangeOrder() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var form = sheet.getSheetByName('Form');
var codb = sheet.getSheetByName('Change Order DB');
var lidb = sheet.getSheetByName('Line Item DB');
var lirows = form.getLastRow();
var lineitems = form.getRange(10,1,lirows,3);
var lidestination = lidb.getRange(lidb.getLastRow()+1,2,lirows,3);
var sourcedata = lineitems.getValues();
var date = form.getRange('E7').getValue();
var customer = form.getRange('B3').getValue();
var re = form.getRange('B5').getValue();
var coid = form.getRange('B7').getValue();
var total = form.getRange('G5').getValue();
var status = form.getRange('G3').getValue();
var codestination = codb.getRange(codb.getLastRow()+1,1,1,6);
codestination.setValues([ [coid, date, customer, re, total, status] ]);
lidestination.setValues(sourcedata);
}
脚本问题:
代码的最后一部分,lidestination.setValues(sourcedata); 正确写入了第 10-50 行的数据,我只想将 ID# 添加到正在写入的每一行。
我有一个带有几个标签的谷歌表格。 link to the example
【问题讨论】:
-
查看array.unshift()
标签: javascript arrays google-apps-script google-sheets google-apps