Vue-xlsx-table 将Excel转为JSON
2020年3月12日
安装
npm install vue-xlsx-table --save
引用
import vueXlsxTable from 'vue-xlsx-table'
Vue.use(vueXlsxTable, {rABS: false})
例子
测试文件
<template>
<vue-xlsx-table @on-select-file="selectExcel" style="margin-right: 50px;">批量导入</vue-xlsx-table>
</template>
<script>
export default {
data() {
return {};
},
methods: {
selectExcel(data) {
// 点击上传后,打印 data 将会出现 header和 body 俩个对象
// header 即为表格数据的第一行
console.log(data.header);
// header:{
// 0: "title"
// 1: "description"
// 2: "source"}
// body即为存储的数据
console.log(data.body);
}
},
};
</script>
个人实例
<template>
<div class>
<vue-xlsx-table @on-select-file="selectExcel" style="margin-right: 50px;">批量导入</vue-xlsx-table>
<el-dialog title="导入信息" :visible.sync="dataVisible">
<el-table :data="datalist">
<el-table-column property="title" label="标题" width="150"></el-table-column>
<el-table-column property="description" label="描述" width="200"></el-table-column>
<el-table-column property="source" label="作者"></el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="dataVisible = false">取 消</el-button>
<el-button type="primary" @click="uploadServer()">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dataVisible: false,
datalist: []
};
},
methods: {
selectExcel(excelData) {
this.dataVisible = true;
let datas = excelData.body;
let dataList = [];
datas.forEach(element => {
this.datalist.push(element);
});
}
},
};
</script>