| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | var fs = require('fs'); | 
					
						
							| 
									
										
										
										
											2017-09-12 20:02:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | var process_wb = (function() { | 
					
						
							|  |  |  | 	var HTMLOUT = document.getElementById('htmlout'); | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 	var XPORT = document.getElementById('xport'); | 
					
						
							| 
									
										
										
										
											2017-09-12 20:02:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	return function process_wb(wb) { | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 		XPORT.disabled = false; | 
					
						
							| 
									
										
										
										
											2017-09-12 20:02:06 +00:00
										 |  |  | 		HTMLOUT.innerHTML = ""; | 
					
						
							|  |  |  | 		wb.SheetNames.forEach(function(sheetName) { | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 			var htmlstr = XLSX.utils.sheet_to_html(wb.Sheets[sheetName],{editable:true}); | 
					
						
							| 
									
										
										
										
											2017-09-12 20:02:06 +00:00
										 |  |  | 			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); | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 			process_wb(XLSX.read(data, {type: 'array'})); | 
					
						
							| 
									
										
										
										
											2017-09-12 20:02:06 +00:00
										 |  |  | 		}; | 
					
						
							|  |  |  | 		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); | 
					
						
							|  |  |  | })(); | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | var export_xlsx = (function() { | 
					
						
							|  |  |  | 	/* pre-build the nwsaveas input element */ | 
					
						
							|  |  |  | 	var HTMLOUT = document.getElementById('htmlout'); | 
					
						
							|  |  |  | 	var input = document.createElement('input'); | 
					
						
							|  |  |  | 	input.style.display = 'none'; | 
					
						
							| 
									
										
										
										
											2022-07-07 06:30:44 +00:00
										 |  |  | 	input.setAttribute('nwsaveas', 'SheetJSNWDemo.xlsx'); | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 	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]; | 
					
						
							| 
									
										
										
										
											2022-07-07 06:30:44 +00:00
										 |  |  | 		var wb = XLSX.utils.table_to_book(HTMLOUT.getElementsByTagName("TABLE")[0]); | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | 		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(); }; | 
					
						
							|  |  |  | })(); |