xlsx导入成--json

时间:2023-03-09 08:11:58
xlsx导入成--json

这两天遇到大难题了,就是这个   xlsx   导入问题,之前用的xlsx.full.min.js,写的导入,结果不兼容ie浏览器,研究这个也好长时间,网上居然还没有搜到合适的,自己写从xlsx官网上找了个大例子,改了改,

在引入

shim.js                  jszip.js              xlsx.js

的基础上

上代码:


var X = XLSX;

var rABS = false;

var process_wb = function process_wb(wb) {

var result = {};

wb.SheetNames.forEach(function(sheetName) {

var roa = X.utils.sheet_to_json(wb.Sheets[sheetName], {

header: 1

});

if(roa.length) result[sheetName] = roa;

});

var output = JSON.stringify(result, 2, 2);

console.log(JSON.parse(output));

document.write(output);

};

var do_file = function do_file(files) {

var f = files[0];

var reader = new FileReader();

reader.onload = function(e) {

if(typeof console !== 'undefined') console.log("onload", new Date(), rABS);

var data = e.target.result;

if(!rABS){

data = new Uint8Array(data)

}

process_wb(X.read(data, {

type: rABS ? 'binary' : 'array'

}));

};

if(rABS){

reader.readAsBinaryString(f);

}else{

reader.readAsArrayBuffer(f);

}

};

(function() {

var xlf = document.getElementById('xlf');

if(!xlf.addEventListener) return;

function handleFile(e) {

console.log(e.target.files);

// 获取到文件

do_file(e.target.files);

}

xlf.addEventListener('change', handleFile, false);

})();


github:https://github.com/jialianbao/xlsx-Import