NodeJS 使用sheets-api向Google Sheets数据透视表添加参数

33qvvth1  于 2023-05-06  发布在  Node.js
关注(0)|答案(1)|浏览(227)

我需要在数据透视表编辑器的“列”和“值”列下添加值,以便数据可以通过。有没有一种方法可以通过使用Node的google-sheets-API来做到这一点?
有关需要更新的值,请参见屏幕截图。

w1jd8yoj

w1jd8yoj1#

我相信你的目标如下。

  • 您想向数据透视表中添加“列”和“值”,如您的问题所示。
  • 您希望使用Googleapis for Node.js来实现这一点。

在这种情况下,下面的示例脚本如何?

示例脚本:

const sheets = google.sheets({ version: "v4", auth }); // Please use your client.

const spreadsheetId = "###"; // Please set your spreadsheet ID.
const sheetIdOfPivotTable = "###"; // Please set sheet ID of pivit table.
const sheetIdOfSourceSheet = "###"; // Please set the sheet ID of the source sheet for your pivot table.

const requests = [
  {
    updateCells: {
      rows: [
        {
          values: [
            {
              pivotTable: {
                source: {
                  sheetId: sheetIdOfSourceSheet,
                  startRowIndex: 0,
                  endRowIndex: 10,
                  startColumnIndex: 0,
                  endColumnIndex: 3,
                },
                columns: [
                  {
                    sourceColumnOffset: 0,
                    showTotals: true,
                    sortOrder: "ASCENDING",
                  },
                ],
                values: [
                  {
                    sourceColumnOffset: 0,
                    summarizeFunction: "SUM",
                  },
                ],
              },
            },
          ],
        },
      ],
      fields: "pivotTable.columns,pivotTable.values",
      range: {
        sheetId: sheetIdOfPivotTable,
        startRowIndex: 14,
        endRowIndex: 15,
        startColumnIndex: 5,
        endColumnIndex: 6,
      },
    },
  },
];
await sheets.spreadsheets
  .batchUpdate({ spreadsheetId, resource: { requests } })
  .catch(({ errors }) => console.log(errors));
  • 运行此脚本时,“Column”和“Value”将添加到pivotTable。请根据实际情况调整columnsvaluessourceColumnOffset: 00
  • 在这种情况下,需要在pivotTable中包含源范围。请小心点。
  • rangepivotTable.source的值来自您的上一个问题。Ref

注意:

*如果您的数据透视表在“列”和“值”中已经有多个值,请将它们包含在上述请求体中。因为上面的请求体覆盖了现有的值。请注意这一点

参考资料:

相关问题