2022-06-15
来源:华纳网
责任编辑:谷雨
人气:
核心提示:知识点:
在H5中导入并解析Excel文件
知识点:
在H5中导入并解析Excel文件
本课内容:
大家好,欢迎来到谷雨课堂,
本节,
我们来学习一下,
如何在H5中导入并解析Excel文件,
而无需将文件上传到服务器。
这个功能,
我们使用的是一个开源的JS库文件,
在这个功能中,
最关键的部分就是把选中的文件以二进制打开,
var fileReader = new FileReader();
fileReader.readAsBinaryString(files[0]);
完整的DEMO演示代码如下:
<!--
No.17 在H5中导入并解析Excel文件
-->
<html>
<head>
<title></title>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible">
</head>
<body>
<input type="file" id="excel-file">
<div id="info">
</div>
</body>
<script src="./js/jquery.min.js"></script>
<script src="./js/vue.js"></script>
<script src="./js/alasql.js"></script>
<script src="./js/xlsx.core.min.js"></script>
<script>
$('#excel-file').change(function (e) {
var files = e.target.files;
var fileReader = new FileReader();
fileReader.onload = function (ev) {
try {
var data = ev.target.result,
workbook = XLSX.read(data, {
type: 'binary'
}), // 以二进制流方式读取得到整份excel表格对象
persons = []; // 存储获取到的数据
} catch (e) {
console.log('文件类型不正确');
return;
}
// 遍历每张表读取
for (var sheet in workbook.Sheets) {
if (workbook.Sheets.hasOwnProperty(sheet)) {
var fromTo = workbook.Sheets[sheet]['!ref'];
console.log(fromTo);
var datas = workbook.Sheets[sheet];
// 如果有不规范数据可以在这里进行处理datas
persons = persons.concat(XLSX.utils.sheet_to_json(datas));
break; // 只读了第一张表
}
}
info.innerHTML=JSON.stringify(persons)
console.log(persons);
};
// 以二进制方式打开文件
fileReader.readAsBinaryString(files[0]);
});
</script>
</html>
完整的源代码可以登录【华纳网】下载。
https://www.worldwarner.com/
免责声明:本文仅代表作者个人观点,与华纳网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。