Google apps script 将图纸数据转换为新图纸

Google apps script 将图纸数据转换为新图纸,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试使用Google Apps脚本与Google Sheets通信,以执行以下操作: 我们正在尝试将数据从一个销售点系统转换为一个新的销售点系统。为了做到这一点,我需要获取工作表中的某些列,以各种方式对它们进行操作,然后用结果数据重新填充另一个工作表。我需要找到没有SKU编号的产品,并为它们分配一个新的SKU编号,从10110开始,从10110开始递增 函数sku(){ //“来自”电子表格 var ss=SpreadsheetApp.getActiveSpreadsheet(); va

我正在尝试使用Google Apps脚本与Google Sheets通信,以执行以下操作: 我们正在尝试将数据从一个销售点系统转换为一个新的销售点系统。为了做到这一点,我需要获取工作表中的某些列,以各种方式对它们进行操作,然后用结果数据重新填充另一个工作表。我需要找到没有SKU编号的产品,并为它们分配一个新的SKU编号,从10110开始,从10110开始递增

函数sku(){
//“来自”电子表格
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“新POS数据”);
//“到”电子表格
//电子表格键:URL末尾的字符串
var ssraw=SpreadsheetApp.openById(“1BH-j4cOW9Ntg6FlPNXmNCUId_pm9BGYAH0CWB4Z_A”);
var sheetraw=ssraw.getSheetByName(“旧POS数据”);
var max=sheet.getLastRow();
//SKU/UPC
var范围=sheetraw.getRange(2,18,最大值);
var data=range.getValues();
//如果没有旧sku,则分配新sku
var skunum=[10110];
var newData=newarray();

对于(var y=0;y,即使使用
getData()
获得一行或一列向量,也将获得一个
对象[]

当您这样做时:

if (data[y]==""){
  newData.push(skunum);
  skunum++;
  var skunum=[skunum];
}
检查
[cellFromColumn]==”
,因为它是一个数组,所以计算结果为false。
然后将新/旧sku编号推送到一个简单数组中,对于电子表格,该数组是一行列。
相反,您希望将包含sku编号的单元素数组推入数组,如下所示:

newData.push(skunum);
...
newData.push([data[y]]);

这将创建一个行数组,每一行都是一个包含一个元素(一列)的数组。

即使使用
getData()
获得一行或一列向量,也会得到一个
对象[][]

当您这样做时:

if (data[y]==""){
  newData.push(skunum);
  skunum++;
  var skunum=[skunum];
}
检查
[cellFromColumn]==”
,因为它是一个数组,所以计算结果为false。
然后将新/旧sku编号推送到一个简单数组中,对于电子表格,该数组是一行列。
相反,您希望将包含sku编号的单元素数组推入数组,如下所示:

newData.push(skunum);
...
newData.push([data[y]]);

这将创建一个行数组,每行是一个包含一个元素(一列)的数组。

谢谢您的帮助!当我这样做时,我的newData变量如下所示:[[10110]、[5]、[[6]、10111、10112、10113、10114、1….并且我得到“无法将数组转换为对象”错误。我可能错了,但问题似乎是在我第一次增加SKNUM后,它变成了数字类型而不是数组。我如何在保持SKNUM为数组而不是数字的情况下增加SKNUM?或者我对这一问题的看法不正确?您还将
SKNUM
设置为
[SKNUM]
。数组不能递增,您只能继续将其嵌套得更深。非常感谢您的帮助。我发誓我尝试过这种方法,但它不起作用,但现在起作用了!非常感谢,太棒了!如果这有帮助,请您接受答案?感谢您的帮助!当我这样做时,我的新数据变量如下所示:[[10110]、[5]、[6]、10111、10112、10113、10114、1……我得到了“无法将数组转换为对象”错误。我可能错了,但问题似乎是在我第一次增加SKNUM后,它变成了数字类型而不是数组。我如何在保持SKNUM为数组而不是数字的情况下增加SKNUM?或者我对这一问题的看法不正确?您还将
SKNUM
设置为
[SKNUM]
。数组不能递增,您只能继续将其嵌套得更深。非常感谢您的帮助。我发誓我尝试过这种方法,但它不起作用,但现在起作用了!非常感谢,太棒了!如果这有帮助,请您接受答案?谢谢