#!/usr/bin/env node var XLSX = require('../xlsx'); var utils = XLSX.utils; var filename = process.argv[2]; if(!filename || filename == "-h" || filename === "--help") { console.log("usage:",process.argv[1]," [sheet]"); console.log(" when sheet = :list, print a list of sheets in the workbook"); process.exit(0); } var fs = require('fs'); if(!fs.existsSync(filename)) { console.error("error:",filename,"does not exist!"); process.exit(1); } var xlsx = XLSX.readFile(filename); var sheetname = process.argv[3] || xlsx.SheetNames[0]; if(sheetname === ":list") { xlsx.SheetNames.forEach(function(x) { console.log(x); }); process.exit(0); } if(xlsx.SheetNames.indexOf(sheetname)===-1) { console.error("Sheet", sheetname, "not found in", filename, ". I see:"); xlsx.SheetNames.forEach(function(x) { console.error(" - " + x); }); process.exit(1); } function stringify(val) { switch(val.t){ case 'n': return val.v; case 's': case 'str': return JSON.stringify(val.v); default: throw 'unrecognized type ' + val.t; } } var sheet = xlsx.Sheets[sheetname]; if(sheet["!ref"]) { var r = utils.decode_range(sheet["!ref"]); for(var R = r.s.r; R <= r.e.r; ++R) { var row = []; for(var C = r.s.c; C <= r.e.c; ++C) { var val = sheet[utils.encode_cell({c:C,r:R})]; row.push(val ? stringify(val) : ""); } console.log(row.join(",")); } }