下载地址:xlsx.full.min.js
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" />
</head>
<body>
<div id="app">
<el-upload ref="upload" action="/" :show-file-list="false" :on-change="importExcel" :auto-upload="false">
<el-button size="mini" class="importBtn">点击上传Excel表格</el-button>
</el-upload>
</div>
</body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script src="js/xlsx.full.min.js"></script>
<script>
new Vue({
el: '#app',
data: function () {
return {}
},
methods: {
// 导入Excel
importExcel(file) {
let types = file.name.split('.')[1]
let fileType = ['xlsx', 'xlc', 'xlm', 'xls', 'xlt', 'xlw', 'csv'].some((item) => item === types)
if (!fileType) {
this.$message('格式错误!请重新选择')
return
}
this.file2Xce(file).then((tabJson) => {
console.log(tabJson[0])
})
},
// 处理Excel数据
file2Xce(file) {
return new Promise(function (resolve, reject) {
let reader = new FileReader()
reader.onload = function (e) {
let data = e.target.result
this.wb = XLSX.read(data, {
type: 'binary'
})
let result = []
result.push(XLSX.utils.sheet_to_json(this.wb.Sheets['Sheet1']))
resolve(result)
}
reader.readAsBinaryString(file.raw)
})
}
}
})
</script>
</html>