forked from sheetjs/sheetjs
		
	- BIFF5 write number formats and other features - XLSX/XLSB/BIFF8 Suppress "Number stored as Text" errors - codename awareness (fixes #992 h/t @samusstrike) - updated CFB to 1.0.3 - demo refresh
		
			
				
	
	
		
			37 lines
		
	
	
		
			989 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			989 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| #!/usr/bin/env jjs
 | |
| /* xlsx.js (C) 2013-present  SheetJS -- http://sheetjs.com */
 | |
| 
 | |
| /* load module */
 | |
| var global = (function(){ return this; }).call(null);
 | |
| load('xlsx.full.min.js');
 | |
| 
 | |
| /* helper to convert byte array to plain JS array */
 | |
| function b2a(b) {
 | |
| 	var out = new Array(b.length);
 | |
| 	for(var i = 0; i < out.length; i++) out[i] = (b[i] < 0 ? b[i] + 256 : b[i]);
 | |
| 	return out;
 | |
| }
 | |
| 
 | |
| function process_file(path) {
 | |
| 	java.lang.System.out.println(path);
 | |
| 
 | |
| 	/* read file */
 | |
| 	var path = java.nio.file.Paths.get(path);
 | |
| 	var bytes = java.nio.file.Files.readAllBytes(path);
 | |
| 	var u8a = b2a(bytes);
 | |
| 
 | |
| 	/* read data */
 | |
| 	var wb = XLSX.read(u8a, {type:"array"});
 | |
| 
 | |
| 	/* get first worksheet as an array of arrays */
 | |
| 	var ws = wb.Sheets[wb.SheetNames[0]];
 | |
| 	var js = XLSX.utils.sheet_to_json(ws, {header:1});
 | |
| 
 | |
| 	/* print out every line */
 | |
| 	js.forEach(function(l) { java.lang.System.out.println(JSON.stringify(l)); });
 | |
| }
 | |
| 
 | |
| process_file('sheetjs.xlsx');
 | |
| process_file('sheetjs.xlsb');
 | |
| process_file('sheetjs.biff8.xls');
 |