forked from sheetjs/docs.sheetjs.com
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			921 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			921 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 | |
| 
 | |
| npm 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
 | |
| 
 | |
| node SheetJSAlaSQL.js
 | |
| 
 | |
| npx xlsx-cli SheetJSAlaSQL1.xlsx
 |