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