谷歌电子表格获取/更新行,其中“ A”列等于ID

时间:2019-07-25 07:17:46

标签: javascript node.js google-sheets

如何获取/更新行“ A”等于我拥有的某些ID?

例如,我有一行包含6列,并且想要更改其中的三列。我是否需要获取该行,编辑值并将其再次保存在同一行中,还是可以覆盖要更新的三个值?

当前,我获取所有行,然后寻找正确的ID,编辑该对象并将所有行写回到工作表中。我认为这是大量读写的方式。

这就是我目前正在使用的工作表:

const GoogleSpreadsheet = require("google-spreadsheet");
const { promisify } = require("util");
const creds = require("./client_secret.json");
const doc = new GoogleSpreadsheet("XXXXXXXXXXXXXXXX");
const tt = promisify(doc.useServiceAccountAuth)(creds);
const info = await promisify(doc.getInfo)();
const sheet = info.worksheets[0];

并使用

写入所有行
for(row in rows){
    await promisify(sheet.addRow)(row);
}

1 个答案:

答案 0 :(得分:1)

还不能发表评论,但是如果您的列 A 具有标题为 ID 的标题,那么它将起作用:

首先,您需要从名称为“ ID”的列中获得的id等于您的userId的行,然后您可以编辑值并将其保存。

var row = await promisify(sheet.getRows)({
        offset: 1,
        query: 'id = ' + userId      //checks where column 'id' (not case sensitive) matches userId
});

row[0].someothercolumn = "value";

promisify(row[0].save)();
相关问题