以下是使用xlsx导入表格的代码示例:
- 安装依赖包
npm install xlsx -S
- 引入xlsx和vue-xlsx
import * as XLSX from "xlsx";
import VueXlsx from "vue-xlsx";
- 在Vue组件中使用VueXlsx
<template><div><input type="file" @change="uploadFile"><table><tr v-for="(row, index) in rows" :key="index"><td v-for="(cell, idx) in row" :key="idx">{{ cell }}</td></tr></table></div>
</template>
<script>
import * as XLSX from "xlsx";
import VueXlsx from "vue-xlsx";export default {components: {VueXlsx,},data() {return {rows: [],columns: [],};},methods: {uploadFile(event) {const input = event.target;const reader = new FileReader();reader.onload = async () => {const data = reader.result;const workbook = XLSX.read(data, { type: "binary" });const sheetName = workbook.SheetNames[0];const worksheet = workbook.Sheets[sheetName];const json = XLSX.utils.sheet_to_json(worksheet, { header: 1 });this.rows = json;};reader.readAsBinaryString(input.files[0]);},},
};
</script>
这个示例代码实现了一个简单的表格,用户可以通过选择Excel文件上传,然后表格会自动填充。具体实现是先通过FileReader将上传的文件读取为二进制数据,然后使用xlsx将它解析成JSON数据,最后将JSON数据填充到表格中。