vue3中将后端传来的json文件转成excel下载到本地

前言:

        在浏览器中将JSON格式数据以excel文件的形式下载。该组件是基于[this thread] (https://stackoverflow.com/questions/17142427/javascript-to-export-html-table-to-excel)提出的解决方案。支持Vue3.2.25及以上版本使用

重要提示! Microsoft Excel中的额外提示

        此组件中实现的方法使用HTML表绘制。在xls文件中,Microsoft Excel不再将HTML识别为本机内容,因此在打开文件之前会显示警告消息。excel的内容已经完美呈现,但是提示信息无法避免,请不要在意!

使用效果:

如果出现下面的提示,点是就行了

 

 

官方地址:点我

使用步骤:

1、安装 npm/cnpm/pnpm/yarn  都可以,装下面插件

vue3-json-excel

2、main.js中配置

import vue3JsonExcel from 'vue3-json-excel';

const app = createApp(App);
app.component('Vue3JsonExcel', vue3JsonExcel);

3、页面具体使用

template
<template>
  <vue3-json-excel
    :json-data="json_data"
    :fields="fields"
    name="测试111.xls"
  >
    <el-button>点我下载</el-button>
  </vue3-json-excel>

</template>
ts
<script lang="ts" setup>
const fields = ref({
    '姓名':'name',
    '年龄':'age',
    '编号':'num',
  });
const json_data = ref([
  {
    name:'张三',
    age:17,
    num:'~00013', //能解决丢0问题
  },{
    name:'李四',
    age:33,
    num:'00014',//会出现丢失0
  },
]);

</script>

4、 尚存在问题

     和vue2的插件vue-json-excel一样,也是有 0 被丢失问题

前面加个符号,~0  可以解决该问题

5、官方api

NameTypeDescriptionDefaultremark
json-dataArray即将导出的数据
fieldsObject要导出的JSON对象内的字段。如果未提供任何属性,将导出JSON中的所有属性。
export-fields (exportFields)Object用于修复使用变量字段的其他组件的问题,如vee-validate。exportFields的工作原理与fields完全相同
typestringMime 类型 [xls, csv]xls1.0.x版本暂时只支持xls,csv会在下个版本迭代
namestringFile 导出的文件名jsonData.xls
headerstring/Array数据的标题。可以是字符串(一个标题)或字符串数组(多个标题)。
title(deprecated)string/Array与header相同,title是出于追溯兼容性目的而维护的,但由于与HTML5 title属性冲突,不建议使用它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值