美文网首页
vue实现将数据导出excel

vue实现将数据导出excel

作者: 清风昙 | 来源:发表于2022-06-13 12:01 被阅读0次

通过将json遍历进行字符串拼接,将字符串输出到csv文件,代码如下


<template>
  <button @click="exportExcel">导出csv表</button>
</template>
  
  <script>
export default {
  data() {
    return {
      jsonData: [
        {
          name: "张三",
          phone: "19866835526",
          email: "19866835526@qq.com"
        },
        {
          name: "李武",
          phone: "18635355355",
          email: "18635355355@qq.com"
        },
        {
          name: "陈铭",
          phone: "18306679888",
          email: "18306689888@163.com"
        },
        {
          name: "何亮",
          phone: "13622527686",
          email: "135635558@qq.com"
        }
      ]
    };
  },
  methods: {
    exportExcel() {
      //列标题,逗号隔开,每一个逗号就是隔开一个单元格
      let str = `名称,课程,邮箱\n`;
      //增加\t为了不让表格显示科学计数法或者其他格式
      for (let i = 0; i < jsonData.length; i++) {
        for (let item in jsonData[i]) {
          str += `${jsonData[i][item] + "\t"},`;
        }
        str += "\n";
      }
      //encodeURIComponent解决中文乱码
      let uri = "data:text/csv;charset=utf-8,\ufeff" + encodeURIComponent(str);
      //通过创建a标签实现
      let link = document.createElement("a");
      link.href = uri;
      //对下载的文件命名
      link.download = "报表明细.csv";
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    }
  }
};
</script>

相关文章

网友评论

      本文标题:vue实现将数据导出excel

      本文链接:https://www.haomeiwen.com/subject/dllamrtx.html