在随机行中追加插入

问题描述 投票:0回答:1

我使用追加将数据插入工作表中,但新数据最终被插入到随机位置。有时在底部,有时在顶部。显然有时也在中间,尽管我自己还没有亲眼目睹。

我认为这是工作表用户在工作表上添加过滤引起的。 当过滤器在工作表上处于活动状态时,它似乎会影响新数据在工作表上的插入位置,尽管我不能 100% 确定情况确实如此。

纸张上没有排序。

知道如何确保新条目始终只附加到底部吗?

const result = await sheets.spreadsheets.values.append({
            spreadsheetId: spreadsheetId,
            range: range,
            valueInputOption: "RAW",
            insertDataOption: "INSERT_ROWS",
            resource: {
                values: data
            }
        });

对于上述内容,范围是

SheetName!A:A
,所以我没有指定任何行。

node.js google-sheets google-sheets-api google-api-nodejs-client
1个回答
0
投票

虽然我不确定你的实际电子表格,但在你的情况下,进行以下修改怎么样?

修改后的脚本:

const spreadsheetId = "###"; // Please set your Spreadsheet ID.
const sheetName = "Sheet1"; // Please set your sheet name.
const data = [["sample1", "sample2", "sample3"]]; // Please set your 2 dimensional array.

const sheets = google.sheets({ version: "v4", auth });
const res = await sheets.spreadsheets.values.get({ spreadsheetId, range: sheetName });
const lastRow = res.data.values.length;
const result = await sheets.spreadsheets.values.update({
  spreadsheetId,
  range: `'${sheetName}'!A${lastRow + 1}`,
  valueInputOption: "RAW",
  resource: { values: data },
});
console.log(result.data);
  • 在此修改中,作为第一步,使用“spreadsheets.values.get”从工作表中检索值。并且,从值中检索最后一行号。并且,使用“spreadsheets.values.update”将
    data
    放入最后一行的下一行。

参考资料:

© www.soinside.com 2019 - 2024. All rights reserved.