读取Excel文件
资源
jquery-3.5.1.min.js
xlsx.core.min.js
html:
<input type="file" id="excel-file">
<script type="text/javascript" src="./jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="./xlsx.core.min.js"></script>
js:
$('#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;
}
// 表格的表格范围,可用于判断表头是否数量是否正确
var fromTo = '';
// 遍历每张表读取
console.log(workbook.Sheets)
// Object.keys(workbook.Sheets).length //获取文件有多少张表(sheet)
for (var sheet in workbook.Sheets) {
// 遍历获取具体内容
if (workbook.Sheets.hasOwnProperty(sheet)) {
fromTo = workbook.Sheets[sheet]['!ref'];
console.log(fromTo);
console.log(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
// break; // 如果只取第一张表,就取消注释这行
}
}
console.log(persons);
};
// 以二进制方式打开文件
fileReader.readAsBinaryString(files[0]);
});