如何使用 NodeJs 将 JavaScript 对象导出到 Google Sheet

How to export JavaScript object to Google Sheet using NodeJs

我有一个 JavaScript 像这样的对象

[{ a: "123", b: "456" }, { a: "321", b: "654" }]

有没有办法像这样使用 NodeJs

将其导出到 Google Sheet

您可以将您的 JSON 内容转换为 CSV,然后只需使用 Google 表格导入。

  1. 使用 npm 包将 JSON 文件/数据转换为 CSV:https://www.npmjs.com/package/json2csv How can I convert JSON to CSV?
  2. 用它创建一个 CSV 文件(您可以 console.log 您的内容并复制它,或者只使用 fs 创建一个文件)
  3. 使用 UI 导入 csv 文件:

您可以也可以使用在线工具https://www.convertcsv.com/json-to-csv.htm 在那里你只需要复制你的json,甚至可以用它下载一个“Excel”文件。 (此文件也可以像 CSV 一样导入)

另一种方法是使用 Google 表格插件。然而,我只能找到通过 URL / API 加载 JSON 的工具。例如:https://medium.com/@paulgambill/how-to-import-json-data-into-google-spreadsheets-in-less-than-5-minutes-a3fede1a014a

我相信你的目标如下。

  • 您想使用 Node.js 将 [{ a: "123", b: "456" }, { a: "321", b: "654" }] 的值放入电子表格。

在这种情况下,使用google-spreadsheet怎么样?

用法:

1。安装 google-spreadsheet.

你可以在here看到它。

2。授权

我认为在这种情况下,服务帐户可能会有用。

授权方法见here

3。示例脚本:

const { GoogleSpreadsheet } = require("google-spreadsheet");

const creds = require("credential.json"); // Please set your credential file.

const doc = new GoogleSpreadsheet("##"); // Please set your Spreadsheet ID.

const sample = async () => {
  await doc.useServiceAccountAuth(creds);
  await doc.loadInfo();
  const worksheet = doc.sheetsByIndex[0]; // Here, 1st tab on Google Spreadsheet is used.

  // This is from your sample value.
  const values = [
    { a: "123", b: "456" },
    { a: "321", b: "654" },
  ];
  await worksheet.setHeaderRow(["a", "b"]); // This is the header row.
  await worksheet.addRows(values); // Your value is put to the sheet.
};

sample();
  • 当此脚本为运行时,得到你的示例图片中的结果。

参考文献: