javascript–利用js-xlsx实现Excel表格的导入到数组中
1:我们要利用的是js-xlsx来帮助我们来导入excel,那么js-xlsx是个什么东西呢,这个我在网上找了一下结果发现没有介绍它是干嘛用的第一次接触的人可能会很蒙,所以我在接触一次候我来把我的经验分享给第一次使用的朋友,希望能帮到你们,我找到了它的官网js-xlsx
介绍了它就是一种为了导入电子文件的一种js脚本
这里展示它支持的文件格式json格式和表格。
2:好了,下面我们开始展示我们如何利用这个东西来导入我们的表格文件呢;
var newarry = [];
var arry = [];
var wb;//读取完成的数据
var aa = [];
var text = [];
var rABS = false; //是否将文件读取为二进制字符串
function importExcel(obj) {//导入
if (!obj.files) {
return;
}
const IMPORTFILE_MAXSIZE = 1 * 2048;
var suffix = obj.files[0].name.split(".")[1];
if (suffix != 'xls' && suffix != 'xlsx') {
alert('导入的文件格式不正确!');
return
}
if (obj.files[0].size / 1024 > IMPORTFILE_MAXSIZE) {
alert('导入的表格文件不能大于2M');
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'
});
}
//wb.SheetNames[0]是获取Sheets中第一个Sheet的名字
//wb.Sheets[Sheet名]获取第一个Sheet的数据
aa = JSON.stringify(XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]));
***//这里有一个重要的json转成json字符串的方法,我们在获取数据的时候是用的是数组,这里获取到的是json数组,我们要转换成自己的数组然后进行引用***
arry = JSON.parse(aa)
for (var i in arry) {
for (var j in arry[i]) {
console.log(arry[i][j])
Q9.push(arry[i][j])
}
}
// console.log(Q9)
var u = eval('(' + aa + ')');
// document.getElementById("output").innerHTML = JSON.stringify(XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]));
document.getElementById('output').innerHTML += Q9;
for (var i = 0; i < u.length; i++) {
text.push(u[i].address);
}
};
if (rABS) {
reader.readAsArrayBuffer(f);
} else {
reader.readAsBinaryString(f);
// reader.readAsText(f, "UTF-8")
}
}
我们在这里要引入一个js文件这个很重要,这个就是我们上面介绍的东西,我这里放个地址,js地址 提取码:njfp ;
里面的数据我们可以在控制台里面查看。这里给大家说一下,要有一定的js基础才能实践呦,欢迎大家热烈的讨论,如有遇到问题及时留言呦!我们一起探讨!