• js 实现纯前端将数据导出excel


    通过将json遍历进行字符串拼接,将字符串输出到csv文件,输出的文件不会再是html类型的文件而是真正的csv文件,代码如下

    <html>
    <head>
      <p style="font-size: 20px;color: red;">使用a标签方式将json导出csv文件</p>
      <button onclick='tableToExcel()'>导出</button>
    </head>
    <body>
      <script>
                
        function tableToExcel(){
          //要导出的json数据
          var jsonData = [
            {
              name:'路人甲',
              phone:'123456789',
              email:'000@123456.com'
            },
            {
              name:'炮灰乙',
              phone:'123456789',
              email:'000@123456.com'
            },
            {
              name:'土匪丙',
              phone:'123456789',
              email:'000@123456.com'
            },
            {
              name:'流氓丁',
              phone:'123456789',
              email:'000@123456.com'
            },
          ]
          //列标题,逗号隔开,每一个逗号就是隔开一个单元格
          let str = `姓名,电话,邮箱
    `;
          //增加	为了不让表格显示科学计数法或者其他格式
          for(let i = 0 ; i < jsonData.length ; i++ ){
            for(let item in jsonData[i]){
                str+=`${jsonData[i][item] + '	'},`;     
            }
            str+='
    ';
          }
          //encodeURIComponent解决中文乱码
          let 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>
    </body>
    </html>
  • 相关阅读:
    特效导航栏
    json基础用法
    CSS盒模型以及如何解决边距重叠问题
    JS设置和获取盒模型的宽和高
    太极图
    JS旋转和css旋转
    正则表达式三-元字符
    正则表达式语法二-量词
    逻辑运算符
    字符串和正则的相关方法
  • 原文地址:https://www.cnblogs.com/shihaiming/p/9402209.html
Copyright © 2020-2023  润新知