forked from sheetjs/sheetjs
		
	- add BOM to `stream.to_csv` (fixes #1024 h/t @hr5959) - `utils.format_cell` type (h/t @victorj2307) - duktape niggles - demo cleanup
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<!-- xlsx.js (C) 2013-present  SheetJS http://sheetjs.com -->
 | 
						|
<!-- vim: set ts=2: -->
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 | 
						|
<title>SheetJS Live Demo</title>
 | 
						|
<style>
 | 
						|
a { text-decoration: none }
 | 
						|
</style>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
<pre>
 | 
						|
<b><a href="http://sheetjs.com">SheetJS Data Preview Live Demo</a></b>
 | 
						|
 | 
						|
<a href="https://github.com/SheetJS/js-xlsx">Source Code Repo</a>
 | 
						|
<a href="https://github.com/SheetJS/js-xlsx/issues">Issues?  Something look weird?  Click here and report an issue</a>
 | 
						|
<br/><div id="fileurl"></div>
 | 
						|
</pre>
 | 
						|
<div id="htmlout"></div>
 | 
						|
<br />
 | 
						|
<button id="ulbutton">Click here to upload the modified table</button>
 | 
						|
<pre>
 | 
						|
<div id="outfile"></div>
 | 
						|
</pre>
 | 
						|
<script src="xlsx.full.min.js"></script>
 | 
						|
<script>
 | 
						|
var demo = 'xhr', book = 'xlsx';
 | 
						|
 | 
						|
if(!window.XMLHttpRequest || typeof Uint8Array === 'undefined')
 | 
						|
	throw new Error("This demo is not supported in your browser");
 | 
						|
 | 
						|
function process_wb(wb) {
 | 
						|
	console.log(wb);
 | 
						|
	htmlout.innerHTML = XLSX.utils.sheet_to_html(wb.Sheets[wb.SheetNames[0]], {editable:true}).replace("<table", '<table id="table" border="1"');
 | 
						|
}
 | 
						|
 | 
						|
var url = "sheetjs.xlsx";
 | 
						|
document.getElementById('fileurl').innerHTML = '<a href="' + url + '">Download original file</a>';
 | 
						|
document.getElementById('outfile').innerHTML = '<a href="' + demo + '.' + book + '">Download new file</a>';
 | 
						|
 | 
						|
{
 | 
						|
	var req = new XMLHttpRequest();
 | 
						|
	req.open("GET", url, true);
 | 
						|
	req.responseType = "arraybuffer";
 | 
						|
	req.onload = function(e) {
 | 
						|
		var data = new Uint8Array(req.response);
 | 
						|
		var wb = XLSX.read(data, {type:"array"});
 | 
						|
		process_wb(wb);
 | 
						|
	};
 | 
						|
	req.send();
 | 
						|
}
 | 
						|
 | 
						|
document.getElementById('ulbutton').onclick = function() {
 | 
						|
	var wb = XLSX.utils.table_to_book(document.getElementById('htmlout'));
 | 
						|
	console.log(wb);
 | 
						|
	var fd = new FormData();
 | 
						|
	var data = XLSX.write(wb, {bookType:book, type:'array'});
 | 
						|
	console.log(data);
 | 
						|
	fd.append('data', new File([data], demo + '.' + book));
 | 
						|
	var req = new XMLHttpRequest();
 | 
						|
	req.open("POST", "/upload", true);
 | 
						|
	req.send(fd);
 | 
						|
};
 | 
						|
</script>
 | 
						|
<script type="text/javascript">
 | 
						|
	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);
 | 
						|
	})();
 | 
						|
</script>
 | 
						|
</body>
 | 
						|
</html>
 |