forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			40 lines
		
	
	
		
			925 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			925 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								# https://docs.sheetjs.com/docs/demos/data/alasql/#nodejs-example
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cd /tmp
							 | 
						||
| 
								 | 
							
								mkdir sheetjs-alasql
							 | 
						||
| 
								 | 
							
								cd sheetjs-alasql
							 | 
						||
| 
								 | 
							
								cat <<EOF >package.json
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  "overrides": {
							 | 
						||
| 
								 | 
							
								    "xlsx": "https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz"
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								bun i --save alasql@3.1.0 https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								curl -L -O https://docs.sheetjs.com/pres.numbers
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cat <<EOF >SheetJSAlaSQL.js
							 | 
						||
| 
								 | 
							
								const { promise: alasql } = require("alasql");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(async() => {
							 | 
						||
| 
								 | 
							
								  /* read data from spreadsheet to JS */
							 | 
						||
| 
								 | 
							
								  const data = await alasql(\`
							 | 
						||
| 
								 | 
							
								    SELECT \\\`Name\\\`, \\\`Index\\\`
							 | 
						||
| 
								 | 
							
								      FROM XLSX("pres.numbers", {autoExt:false})
							 | 
						||
| 
								 | 
							
								      WHERE \\\`Index\\\` < 45
							 | 
						||
| 
								 | 
							
								  \`);
							 | 
						||
| 
								 | 
							
								  console.log(data);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* write data from JS to spreadsheet */
							 | 
						||
| 
								 | 
							
								  data.push({ Name: "SheetJS Dev", Index: 47 });
							 | 
						||
| 
								 | 
							
								  await alasql(\`SELECT * INTO XLSX("SheetJSAlaSQL1.xlsx") FROM ?\`, [data]);
							 | 
						||
| 
								 | 
							
								})();
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								bun run SheetJSAlaSQL.js
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								bunx xlsx-cli SheetJSAlaSQL1.xlsx
							 |