html中jquery导入excel,jquery读取本地excle里的数据

Document

确认

var fileType = 0; //默认0(0不正确,1正确)

var wb; //读取Excel的数据

var rABS = false; //是否将文件读取为二进制字符串

var excelTab; //Excel

$("#lefile").on('change',function(){

var file = $('#lefile').get(0); //得到文件对象

var filename = $("#lefile").val();

var idx = filename.lastIndexOf(".");

if (idx != -1){

ext = filename.substr(idx+1).toUpperCase();

ext = ext.toLowerCase( );

// alert("ext="+ext);

if (ext != 'xls' && ext != 'xlsx' ){

alert("只能上传.xls和.xlsx类型的文件!");

fileType = 0;

return;

}else{

fileType = 1;

}

} else {

alert("只能上传.xls和.xlsx类型的文件!");

fileType = 0;

return;

}

})

$("#button-next").on('click',function(){

if(fileType == 0){

alert("只能上传.xls和.xlsx类型的文件!");

return;

}else{

var file = $('#lefile').get(0); //得到文件对象

importf(file); //进行读取操作

}

})

function importf(obj) {

if(!obj.files) {

return;

}

var f = obj.files[0];

var reader = new FileReader();

reader.onload = function(e) {

var data = e.target.result;

if(rABS) {

wb = XLSX.read(btoa(fixdata(data)), {//手动转化

type: 'base64'

});

} else {

wb = XLSX.read(data, {

type: 'binary'

});

}

excelTab = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);

console.log(excelTab);

printData(excelTab);

};

if(rABS) {

reader.readAsArrayBuffer(f);

} else {

reader.readAsBinaryString(f);

}

}

function fixdata(data) { //文件流转BinaryString

var o = "",

l = 0,

w = 10240;

for(; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));

o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));

return o;

}

function printData(excelTab){

for( var i = 0; i < excelTab.length; i++ ){

console.log("题目===="+excelTab[i].题目);

console.log("答案===="+excelTab[i].答案);

console.log("解析===="+excelTab[i].解析);

console.log("分数===="+excelTab[i].分数);

}

}

xlsx地址:https://github.com/TaoZY512/xlsx

我的excle文件内容如下:

fd42d5db8733720f85bc94b76ff56262.png

输出结果:

1e3cc8ea2fd2d84827f1128a9e891ee9.png

感谢这位博主https://blog.csdn.net/qq_36908841/article/details/82057066?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值