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}); }
 | |
| };
 |