<template>
<div>
<input type="file" @change="handleFileUpload">
<button @click="downloadFile">Download Sample File</button>
</div>
</template>
<script>
import XLSX from 'xlsx';
import axios from 'axios';
export default {
methods: {
handleFileUpload(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 firstSheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[firstSheetName];
const json = XLSX.utils.sheet_to_json(worksheet, { raw: true });
console.log(json); // 在控制台中打印Excel数据
// 这里可以将json数据发送到服务器或者进行其他处理
};
reader.readAsArrayBuffer(file);
},
async downloadFile() {
try {
const response = await axios.get('YOUR_DOWNLOAD_URL', {
responseType: 'blob' // 设置响应类型为二进制流
});
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'sample.xlsx');
document.body.appendChild(link);
link.click();
} catch (error) {
console.error('Error downloading file:', error);
}
}
}
}
</script>
vue中下载上传xlxs文件
最新推荐文章于 2024-10-24 10:12:41 发布