Skip to main content
Module

x/sheetjs/demos/nwjs/index.js

πŸ“— SheetJS Community Edition -- Spreadsheet Data Toolkit
Extremely Popular
Latest
File
var fs = require('fs');
var process_wb = (function() { var HTMLOUT = document.getElementById('htmlout'); var XPORT = document.getElementById('xport');
return function process_wb(wb) { XPORT.disabled = false; HTMLOUT.innerHTML = ""; wb.SheetNames.forEach(function(sheetName) { var htmlstr = XLSX.utils.sheet_to_html(wb.Sheets[sheetName],{editable:true}); HTMLOUT.innerHTML += htmlstr; }); };})();
var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-36810333-1']);_gaq.push(['_trackPageview']);
(function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();
var do_file = (function() { return function do_file(files) { var f = files[0]; var reader = new FileReader(); reader.onload = function(e) { var data = e.target.result; data = new Uint8Array(data); process_wb(XLSX.read(data, {type: 'array'})); }; reader.readAsArrayBuffer(f); };})();
(function() { var drop = document.getElementById('drop');
function handleDrop(e) { e.stopPropagation(); e.preventDefault(); do_file(e.dataTransfer.files); }
function handleDragover(e) { e.stopPropagation(); e.preventDefault(); e.dataTransfer.dropEffect = 'copy'; }
drop.addEventListener('dragenter', handleDragover, false); drop.addEventListener('dragover', handleDragover, false); drop.addEventListener('drop', handleDrop, false);})();
(function() { var xlf = document.getElementById('xlf'); function handleFile(e) { do_file(e.target.files); } xlf.addEventListener('change', handleFile, false);})();
var export_xlsx = (function() { /* pre-build the nwsaveas input element */ var HTMLOUT = document.getElementById('htmlout'); var input = document.createElement('input'); input.style.display = 'none'; input.setAttribute('nwsaveas', 'sheetjs.xlsx'); input.setAttribute('type', 'file'); document.body.appendChild(input); input.addEventListener('cancel',function(){ alert("Save was canceled!"); }); input.addEventListener('change',function(e){ var filename=this.value, bookType=(filename.match(/[^\.]*$/)||["xlsx"])[0]; var wb = XLSX.utils.table_to_book(HTMLOUT); var wbout = XLSX.write(wb, {type:'buffer', bookType:bookType}); fs.writeFile(filename, wbout, function(err) { if(!err) return alert("Saved to " + filename); alert("Error: " + (err.message || err)); }); });
return function() { input.click(); };})();