#!/bin/bash # https://docs.sheetjs.com/docs/demos/data/alasql/#nodejs-example cd /tmp mkdir sheetjs-alasql cd sheetjs-alasql cat <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 <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