forked from sheetjs/docs.sheetjs.com
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { google } from "googleapis";
 | 
						|
 | 
						|
import { read, utils } from 'xlsx';
 | 
						|
 | 
						|
/* 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 drive = google.drive({ version: "v3", auth: jwt });
 | 
						|
 | 
						|
/* get XLSX export */
 | 
						|
const file = await drive.files.export({
 | 
						|
  mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
 | 
						|
  fileId: id
 | 
						|
});
 | 
						|
const ab = await file.data.arrayBuffer();
 | 
						|
 | 
						|
/* parse with SheetJS */
 | 
						|
const wb = read(ab);
 | 
						|
 | 
						|
/* print CSV data from each worksheet */
 | 
						|
wb.SheetNames.forEach(n => {
 | 
						|
  console.log(`#### ${n}`);
 | 
						|
  console.log(utils.sheet_to_csv(wb.Sheets[n]));
 | 
						|
  console.log("");
 | 
						|
}) |