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