VUE: 将Json (后台返回的数据-list) 数据转换为Excel文件并实现前端下载

这篇具有很好参考价值的文章主要介绍了VUE: 将Json (后台返回的数据-list) 数据转换为Excel文件并实现前端下载。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 下载xlsx的包
npm install xlsx@latest
2. vue中的写法
  1. 创建button的按钮,添加点击的函数
  2. 写函数
  3. 函数流程总体来说就是: 将json字符串书写写入文件,然后转换为blob的对象,之后通过文件流的方式传递给用户下载
  4. 其中的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

到了这里,关于VUE: 将Json (后台返回的数据-list) 数据转换为Excel文件并实现前端下载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包