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
CodePudding user response:
You could convert your JSON content to CSV and just use the Google Sheets import.
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.