This repository is a mirror of the component module chemzqm/xlsx.js. It has been modified to work with NPM+Browserify. You can install it using the command npm install npmcomponent/chemzqm-xlsx.js
. Please do not open issues or send pull requests against this repo. If you have issues with this repo, report it to npmcomponent.
converting the data in base64 XLSX files into JavaScript objects - and back
Install with component(1):
$ component install chemzqm/xlsx.js
Generate xlsx file
var xlsx = require('xlsx.js');
var $ = require('jquery');
var data = [
['Person', 'Dogs'],
['a', 0],
['b', 1],
];
$('#save').on('click', function() {
var file = {
worksheets: [[]], // worksheets has one empty worksheet (array)
creator: 'John Smith', created: new Date('8/16/2012'),
lastModifiedBy: 'Larry Jones', modified: new Date(),
activeWorksheet: 0
}, w = file.worksheets[0]; // cache current worksheet
w.name = '测试';
w.data = data;
window.location = xlsx(file).href();
});
Parse xlsx file
//test read xlsx file
var xhr = new XMLHttpRequest();
xhr.open('GET', 'download.xlsx', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
if (this.status == 200) {
var uInt8Array = new Uint8Array(this.response);
var i = uInt8Array.length;
var binaryString = new Array(i);
while (i--)
{
binaryString[i] = String.fromCharCode(uInt8Array[i]);
}
var data = binaryString.join('');
var base64 = window.btoa(data);
console.log(xlsx(base64).worksheets[0]);
//[
//[[{value: 'Person'}], [{value: 'Dogs'}]],
//[[{value: 'a'}], [{value: '0'}]],
//[[{value: 'b'}], [{value: '1'}]]
//]
}
};
xhr.send();
MIT