gpt4 book ai didi

javascript - 从电子表格更新数据 - Apps 脚本

转载 作者:行者123 更新时间:2023-11-28 17:22:32 26 4
gpt4 key购买 nike

我正在将多个电子表格的数据传输到一个电子表格,我所做的是将某些列的最后一个数据传输到主电子表格,并将它们插入到某些列的最后一个可用行中,目前,我插入所有数据,但我想知道如何让它检查主电子表格,以便如果这些数据已经存在,它不会删除它们而是更新它们。我的脚本如下...

  function  Gas10(){  
var ss1 = SpreadsheetApp.openById("ID");
var ssh1 = ss1.getSheetByName("Sheet 1");


var lastRow1 = ssh1.getLastRow();
var gtRange1 = ssh1.getRange("C"+(lastRow1)+":K"+(lastRow1)).getValues();
var gtRange2= ssh1.getRange("A" + (lastRow1)).getValue();

var ss2 = SpreadsheetApp.getActiveSpreadsheet();

var ssh2 = ss.getSheetByName("Sheet 2");
var lastRow2 = ssh2.getLastRow() + 1;
var setRange1 = ssh2.getRange(lastRow2, 4, gtRange1.length, gtRange1[0].length).setValues(gtRange1);
var setRange2 = ssh2.getRange(lastRow2, 3).setValue(gtRange2);
}

我需要知道当我插入一条信息时我该怎么做(我已经这样做了),但如果它已经存在则更新它。 This是我创建的示例,以便更好地理解它,在这个示例中,我有两张工作表,其中我将工作表 1 中的数据传递到工作表 2,我正在寻找的是工作表 2 更新所有相等的数据至(名称、编号、项目)。我希望现在我能更好地理解我在寻找什么。

最佳答案

基本上你要做的是

  • 获取要添加到目标电子表格的新行
  • 获取目标电子表格的所有必需数据
  • 检查新行数据是否与目标数据数组中的数据相同
    • 如果是,请更改 ID 值
  • 将更改的数据粘贴到目标电子表格中

基于this spreadsheet代码应该看起来像这样

function  Gas10(){  
var ss1 = SpreadsheetApp.getActiveSpreadsheet();
var ssh1 = ss1.getSheetByName("Sheet 1");
var ssh2 = ss1.getSheetByName("Sheet 2");
var lastRow1 = ssh1.getLastRow();
var lastCol1 = ssh1.getLastColumn();
var newLine = ssh1.getRange(lastRow1, 2, 1, lastCol1 - 1 ).getValues();
var destDatas = ssh2.getDataRange().getValues();
for (var i = 1; i < destDatas.length; i++)
{
if (newLine[0][0] == destDatas[i][0]
&& newLine[0][1] == destDatas[i][1]
&& newLine[0][2] == destDatas[i][2])
{
destDatas[i][3] = newLine[0][3];
}
}
// add newLine to destDatas
destDatas.splice(destDatas.length, 0, newLine[0]);
var lastColumn = ssh2.getLastColumn();
var lastRow2 = ssh2.getLastRow() + 1;
ssh2.getRange(1, 1, destDatas.length, lastColumn).setValues(destDatas);
ssh1.deleteRow(lastRow1);
}

关于javascript - 从电子表格更新数据 - Apps 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168589/

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