首页 > 解决方案 > 在 Google App Script 上创建具有不同数据范围的对象

问题描述

我想创建一个函数来创建 2 个不同的对象,这些对象具有来自工作表的不同数据范围。但它说:
异常:参数(字符串,字符串,字符串,字符串,字符串,字符串,字符串)与方法签名不匹配,SpreadsheetApp.Sheet.getRangeList. 因为错误来自变量 let data_Spiceblend

PS:我只是编程的初学者,所以如果你觉得这个问题很愚蠢,我很抱歉:/这就是我所做的:

  let sheet = openSheet("Spices list");
  let data_SpiceBlend = sheet.getRangeList('B67:B83','B85:B86','B88:B114','B116:B134','B136:B147','B149:B154','B156:B223','B225').getValues();
  let data_SpiceMix = sheet.getRange("B21:B65","B232:B242").getValues();

  let blend_Obj = {};
  let mix_Obj = {};
  let blendSku = data_SpiceBlend[0];
  let mixSku = data_SpiceMix[0];
  let blendContent = [];
  let mixContent = [];

  for (let row of data_SpiceBlend) {
   obj[blendSku] = blendContent;
   blendSku = row[0];
   blendContent = []; 
    }
  

  for (let row of data_SpiceMix) {
      obj[mixSku] = mixContent;
      mixSku = row[0];
      mixContent = [];
    }
  
  blend_Obj[blendSku] = blendContent;
  mix_Obj[mixSku] = mixContent;
  model.blend = blend_Obj;
  model.mix = mix_Obj;
}

标签: javascriptgoogle-apps-script

解决方案


回答:

getRangeList()方法采用范围数组,指定为字符串。

代码更改:

let data_SpiceBlend = sheet.getRangeList('B67:B83','B85:B86','B88:B114','B116:B134','B136:B147','B149:B154','B156:B223','B225').getValues()

应该:

let data_SpiceBlend = sheet.getRangeList(['B67:B83','B85:B86','B88:B114','B116:B134','B136:B147','B149:B154','B156:B223','B225']).getRanges().getValues()

注意[]封装 A1 符号列表。


推荐阅读