forked from sheetjs/sheetjs
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			774 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			774 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
 | 
						|
var XLSX = require('xlsx');
 | 
						|
var fs = require('fs');
 | 
						|
 | 
						|
onmessage = function(e) {
 | 
						|
	try { switch(e.data.action) {
 | 
						|
		case 'write':
 | 
						|
			var ws = XLSX.utils.aoa_to_sheet(e.data.data);
 | 
						|
			var wb = XLSX.utils.book_new();
 | 
						|
			XLSX.utils.book_append_sheet(wb, ws, "SheetJS");
 | 
						|
			postMessage({data: XLSX.write(wb, {type:'binary', bookType:e.data.type || e.data.file.match(/\.([^\.]*)$/)[1]})});
 | 
						|
			break;
 | 
						|
		case 'read':
 | 
						|
			var wb;
 | 
						|
			if(e.data.file) wb = XLSX.readFile(e.data.file);
 | 
						|
			else wb = XLSX.read(e.data.data);
 | 
						|
			var ws = wb.Sheets[wb.SheetNames[0]];
 | 
						|
			postMessage({data: XLSX.utils.sheet_to_json(ws, {header:1})});
 | 
						|
			break;
 | 
						|
		default: throw "unknown action";
 | 
						|
	}} catch(e) { postMessage({err:e.message || e}); }
 | 
						|
};
 |