js 实现纯前端将数据导出excel。chome浏览器 亲测有效。

有了新的需求 所以就了解下怎么用js 直接导出excel文档。

html代码

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <p style="font-size: 20px;color: red;">使用a标签方式将json导出csv文件</p>
    <button onclick="tableToExcel()">导出</button>
</body>
</html>

标题js代码

<script>
  window.onload = function(){
    tableToExcel = function (){
      //要导出的json数据
      var jsonData = [
        {
          name:'路人甲',
          phone:'123456789',
          email:'[email protected]'
        },
        {
          name:'炮灰乙',
          phone:'123456789',
          email:'[email protected]'
        },
        {
          name:'土匪丙',
          phone:'123456789',
          email:'[email protected]'
        },
        {
          name:'流氓丁',
          phone:'123456789',
          email:'[email protected]'
        },
      ];
      //列标题,逗号隔开,每一个逗号就是隔开一个单元格
      var str = "姓名,电话,邮箱\n";
      //增加\t为了不让表格显示科学计数法或者其他格式
      for(var i = 0 ; i < jsonData.length ; i++ ){
        for(var item in jsonData[i]){
            str+=jsonData[i][item]+"\t,";     
        }
        str+='\n';
      }
      //encodeURIComponent解决中文乱码
      var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
      //通过创建a标签实现
      var link = document.createElement("a");
      link.href = uri;
      //对下载的文件命名
      link.download =  "json数据表.csv";
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    };
  }


</script>

图片

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wen_binobject/article/details/82993746