import { google } from "googleapis"; import { set_fs, writeFile, utils } from 'xlsx'; import * as fs from 'fs'; set_fs(fs); /* Change this import statement to point to the credentials JSON file */ import creds from './sheetjs-test-726272627262.json' assert { type: "json" }; /* Change this to the spreadsheet ID */ const id = "SOME-SPREADSHEETJS-ID"; /* connect to google services */ const jwt = new google.auth.JWT({ email: creds.client_email, key: creds.private_key, scopes: [ 'https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive.file', ] }); const sheets = google.sheets({ version: "v4", auth: jwt }); /* get existing sheets */ const wsheet = await sheets.spreadsheets.get({spreadsheetId: id}); /* create a workbook */ const wb = utils.book_new(); for(let sheet of wsheet.data.sheets) { const name = sheet.properties.title; const res = await sheets.spreadsheets.values.get({ spreadsheetId: id, range: `'${name}'` }); utils.book_append_sheet(wb, utils.aoa_to_sheet(res.data.values), name); } writeFile(wb, "SheetJSExport.xlsb");