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