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(""); | ||
|  | }) |