【发布时间】:2021-04-26 22:02:16
【问题描述】:
使用谷歌应用程序脚本,我正在从其他电子表格中收集数据。设置为每天收集数据并将其写入“数据库”表。
到目前为止,我将其作为基本解决方案,但这始终是写入数据并替换现有数据。
在我的脚本中,我想将数据从导入范围电子表格复制到特定列而我想要的是不断地将数据复制到下一个空行,但是如何在不删除现有复制数据的情况下执行此操作?请帮忙!
var scriptProperties = PropertiesService.getScriptProperties();
var ssid = '1usRuvazJlxAGvF0G2-e00MEQ_AjMCOnWopBFX4qfUcc';
var sheetName = 'DATABASE';
function CopyDatabase() {
var sheet = SpreadsheetApp.openById(ssid).getSheetByName(sheetName);
var startRow = 3;
var numRows = sheet.getLastRow() - 1;
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
var Copy = "Copy";
var newRow = sheet.getLastRow() + 1;
for (var i = 0; i < data.length; ++i) {
var row = data[i];
if (row[5] != Copy) {
var Code = row[0];
var orderDate = row[1];
var custName = row[2];
sheet.getRange(startRow + i, 5).setValue(Code);
sheet.getRange(startRow + i, 6).setValue(orderDate);
sheet.getRange(startRow + i, 7).setValue(custName);
}
}
}
这是数据库的链接(谷歌表):
https://docs.google.com/spreadsheets/d/1usRuvazJlxAGvF0G2-e00MEQ_AjMCOnWopBFX4qfUcc/edit#gid=0
【问题讨论】:
-
我没有看到您在哪里指定了第二个电子表格。
-
整个散文都在一个电子表格上,就在工作表的左右两侧
-
嗨!我发布了一个答案,解释了如何做到这一点。我不确定您是要复制包含
Copy的行,还是not 包含它的行。另外我不确定是否应该复制列D。无论如何,我希望大体思路清晰。 -
嗨!,包含 COPY 的行仅作为过滤器以防止数据重复,根据代码,如果(行 [5]!= Copy)然后运行脚本。动态数据是A、B、C列,我要连续写下来的数据库是E、F、G列,不替换之前的数据(追加行)
-
@Iamblichus 非常感谢...
标签: javascript java google-apps-script google-sheets