用vue2写一段代码实现excel文件模板下载 导入excel数据
时间: 2024-01-28 08:04:55 浏览: 89
当然,我可以为您提供一个示例代码。以下是使用Vue.js 2.x实现Excel文件模板下载和导入Excel数据的代码:
```html
<template>
<div>
<button @click="downloadTemplate">下载Excel模板</button>
<input type="file" @change="importExcel" />
</div>
</template>
<script>
import XLSX from 'xlsx';
export default {
methods: {
downloadTemplate() {
const templateData = [
// Excel模板数据
["姓名", "年龄", "性别"],
["张三", 20, "男"],
["李四", 25, "女"],
["王五", 30, "男"],
];
const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.aoa_to_sheet(templateData);
XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");
XLSX.writeFile(workbook, "template.xlsx");
},
importExcel(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = (e) => {
const data = new Uint8Array(e.target.result);
const workbook = XLSX.read(data, { type: "array" });
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
console.log(jsonData); // 在控制台打印导入的Excel数据
};
reader.readAsArrayBuffer(file);
},
},
};
</script>
```
上述代码中使用了`xlsx`库来处理Excel文件的读写操作,您可以使用`npm install xlsx`命令来安装该库。
在模板中,我们创建了一个下载Excel模板的按钮和一个用于导入Excel文件的文件选择框。当点击下载按钮时,会生成一个包含预设数据的Excel文件并下载到本地。当选择了要导入的Excel文件后,会将其解析成JSON数据并打印在控制台上。
请注意,这只是一个简单的示例代码,实际应用中可能需要根据您的需求进行更多的处理和验证。
希望这个示例能对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文