Home > Enterprise >  How to export JavaScript object to Google Sheet using NodeJs
How to export JavaScript object to Google Sheet using NodeJs

Time:05-16

I have a JavaScript object like this

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

Is there any way to export it to Google Sheet like this using NodeJs

enter image description here

CodePudding user response:

You could convert your JSON content to CSV and just use the Google Sheets import.

  1. Convert your JSON file / data to CSV using a npm package: enter image description hereenter image description here

You could also use an online tool for it: https://www.convertcsv.com/json-to-csv.htm There you just have to copy your json and can even download a "Excel"-file with it. (This file can get imported like CSV as well)

Another way is to use a Google Sheets plugin. However I was only able to find tools for loading JSON via an URL / API. E.g.: https://medium.com/@paulgambill/how-to-import-json-data-into-google-spreadsheets-in-less-than-5-minutes-a3fede1a014a

CodePudding user response:

I believe your goal is as follows.

  • You want to put the values of [{ a: "123", b: "456" }, { a: "321", b: "654" }] to the Spreadsheet using Node.js.

In this case, how about using google-spreadsheet?

Usage:

1. Install google-spreadsheet.

You can see it at here.

2. Authorization

I thought that in this case, the service account might be useful.

You can see the method for authorization at here.

3. Sample script:

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();
  • When this script is run, the result in your sample image is obtained.

References:

  • Related