Google 脚本;来自 API 的设置值

Google script; setValues from API

我在将 API 的值设置到 google 工作表时遇到问题。提供的数据集如下所示:

  const data = [
  {
    quantity: 10000,
    unitprice: 30.37,
    id: 168586
  },
  {
    quantity: 2000,
    unitprice: 27.85,
    id: 168583
  },
  {
    quantity: 20,
    unitprice: 150000,
    id: 135693
  },
  {
    quantity: 2109,
    unitprice: 25.01,
    id: 168586
  },
  {
    quantity: 8434,
    unitprice: 34.72,
    id: 168589
  },
  {
    quantity: 1,
    unitprice: 5,
    id: 168583
  },
  {
    quantity: 560,
    unitprice: 180.23,
    id: 158191
  }
];

如果我在 google 工作表中使用 setValue 函数,它只会粘贴第一个块而忽略其他块。如果我使用 setValues 我得到错误: “异常:参数 (number[]) 与 SpreadsheetApp.Range.setValues 的方法签名不匹配。”

有人知道我能做什么吗?

您的数据不是二维数组,您必须详细说明每个对象的属性

尝试

function decode() {
  const data = [
    {
      quantity: 10000,
      unitprice: 30.37,
      id: 168586
    },
    {
      quantity: 2000,
      unitprice: 27.85,
      id: 168583
    },
    {
      quantity: 20,
      unitprice: 150000,
      id: 135693
    },
    {
      quantity: 2109,
      unitprice: 25.01,
      id: 168586
    },
    {
      quantity: 8434,
      unitprice: 34.72,
      id: 168589
    },
    {
      quantity: 1,
      unitprice: 5,
      id: 168583
    },
    {
      quantity: 560,
      unitprice: 180.23,
      id: 158191
    }
  ];
  let values = []
  values.push(['quantity', 'unitprice', 'id'])
  data.forEach(d => {
    values.push([d.quantity, d.unitprice, d.id])
  })
  SpreadsheetApp.getActiveSheet().getRange(1, 1, values.length, values[0].length).setValues(values)
}