forked from sheetjs/sheetjs
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* xlsx.js (C) 2013-present  SheetJS -- http://sheetjs.com */
 | |
| /* eslint-env phantomjs */
 | |
| var XLSX = require('xlsx');
 | |
| 
 | |
| var page = require('webpage').create();
 | |
| page.onConsoleMessage = function(msg) { console.log(msg); };
 | |
| 
 | |
| /* this code will be run in the page */
 | |
| var code = [ "function(){",
 | |
|   /* call table_to_book on first table */
 | |
|   "var wb = XLSX.utils.table_to_book(document.body.getElementsByTagName('table')[0]);",
 | |
| 
 | |
|   /* generate XLSB file and return binary string */
 | |
|   "return XLSX.write(wb, {type: 'binary', bookType: 'xlsb'});",
 | |
| "}" ].join("");
 | |
| 
 | |
| page.open('https://sheetjs.com/demos/table', function() {
 | |
|   console.log("Page Loaded");
 | |
|   /* Load the browser script from the UNPKG CDN */
 | |
|   page.includeJs("https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js", function() {
 | |
|     /* Verify the page is loaded by logging the version number */
 | |
|     var version = "function(){ console.log('Library Version:' + window.XLSX.version); }";
 | |
|     page.evaluateJavaScript(version);
 | |
| 
 | |
|     /* The code will return a binary string */
 | |
|     var bin = page.evaluateJavaScript(code);
 | |
|     var workbook = XLSX.read(bin, {type: "binary"});
 | |
|     console.log(XLSX.utils.sheet_to_csv(workbook.Sheets[workbook.SheetNames[0]]));
 | |
| 
 | |
|     /* XLSX.writeFile will not work here -- have to write manually */
 | |
|     require("fs").write("phantomjs.xlsb", bin, "wb");
 | |
|     phantom.exit();
 | |
|   });
 | |
| });
 | |
| 
 |