1. 下载xlsx的包
npm install xlsx@latest
2. vue中的写法
- 创建button的按钮,添加点击的函数
- 写函数
- 函数流程总体来说就是: 将json字符串书写写入文件,然后转换为blob的对象,之后通过文件流的方式传递给用户下载
- 其中的
jsonData
可以通过axios
请求后端传递来的数据。
<template>
<div class="main">
<button @click="downloadExcel">下载文件</button>
</div>
</template>
<script>
import { utils, writeFile } from 'xlsx';
export default {
name: 'FAQ',
data() {
return {
base_url: 'http://127.0.0.1:5000/',
}
},
methods: {
downloadExcel() {
const jsonData = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 28 },
{ name: 'Bob', age: 35 }
];
const worksheet = utils.json_to_sheet(jsonData);
const workbook = utils.book_new();
utils.book_append_sheet(workbook, worksheet, 'Sheet1');
const excelData = writeFile(workbook, 'data.xlsx', { type: 'blob', bookType: 'xlsx' });
const url = URL.createObjectURL(excelData);
const link = document.createElement('a');
link.href = url;
link.download = 'data.xlsx';
link.click();
URL.revokeObjectURL(url);
}
},
}
</script>
<style scoped>
</style>
文章来源地址https://www.toymoban.com/news/detail-501617.html
文章来源:https://www.toymoban.com/news/detail-501617.html
到了这里,关于VUE: 将Json (后台返回的数据-list) 数据转换为Excel文件并实现前端下载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!