• 点击页面按钮以excel保存到本地


    HTML

    <!DOCTYPE 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>
      <style>
        .receive table{
          width: 600px;
        }
        .receive table th,.receive table td{
          width: 140px;
          text-align: center;
          height: 30px;
          line-height: 30px;
        }
        button{
          width: 100px;
          height: 30px;
          line-height: 30px;
          text-align: center;
          background: pink;
          color: #fff;
          border-radius: 6px;
          outline: none;
          border: none;
        }
      </style>
    </head>
    <body>
      <button>保存至本地</button>
      <div class="receive">
        <table id="table">
          <tr>
            <th>单位</th>
            <th>支部</th>
            <th>姓名</th>
            <th>手机号</th>
          </tr>
          <tr>
            <td>小虎豹</td>
            <td>支部名称1</td>
            <td>姓名1</td>
            <td>18463580322</td>
          </tr>
          <tr>
            <td>单位名称2</td>
            <td>支部名称2</td>
            <td>姓名2</td>
            <td>18463587551</td>
          </tr>
          <tr>
            <td>单位名称3</td>
            <td>支部名称3</td>
            <td>姓名3</td>
            <td>18712830270</td>
          </tr>
          <tr>
            <td>单位名称4</td>
            <td>支部名称4</td>
            <td>姓名4</td>
            <td>18712830270</td>
          </tr>
          <tr>
            <td>单位名称5</td>
            <td>支部名称5</td>
            <td>姓名5</td>
            <td>18712830270</td>
          </tr>
          <tr>
            <td>单位名称3</td>
            <td>支部名称3</td>
            <td>姓名3</td>
            <td>18712830270</td>
          </tr>
          <tr>
            <td>单位名称4</td>
            <td>支部名称4</td>
            <td>姓名4</td>
            <td>18712830270</td>
          </tr>
          <tr>
            <td>单位名称5</td>
            <td>支部名称5</td>
            <td>姓名5</td>
            <td>18712830270</td>
          </tr>
        </table>
      </div>
      <script src="excel.js"></script>
      <script>
        var btn=document.getElementsByTagName('button')[0];
        btn.onclick=function(){
          exportExcel('table','党员领取详情');
        }
      </script>
    </body>
    </html>

    JS

    function inArray(target, arr) {   // 不适用于引用数据类型
      return arr.some(function(elem, index) {
        if (target === elem) {
          return true;
        }
      })
    }
    // row ,line : array, 不需要数据的行列值,0或undefined为全选
    function exportExcel(tableID,fileName,row,line){
        var agent = navigator.userAgent.toLowerCase();
        var isIE = /(msies|trident.*rv:)([w.]+)/.test(agent);
    
        if (isIE) {
            alert("暂不支持IE内核的浏览器");
        } else {
            var table = document.getElementById(tableID);
            var oTh = table.getElementsByTagName('th');
            var data = [];
            data[0] = [];
            for(var i = 0; i < oTh.length; i++) {        // 标题th强制导出
                if(line && inArray(i, line)) {
                    continue;
                }
                data[0].push(oTh[i].innerHTML)
            }
            var oTr = table.getElementsByTagName('tr');
            for(var i = 1; i < oTr.length; i++) {
                if(row && inArray(i,row)) {
                    continue;
                }
                var arr = [];
                var oTd = oTr[i].getElementsByTagName('td');
                for (var j = 0; j < oTd.length; j++) {
                    if(line && inArray(j, line)) {
                        continue;
                    }
                    arr.push(oTd[j].innerHTML.replace('
    ',' '));
                }
                data.push(arr);
            }
            var str = '';
            data.forEach(function(arr, index){
                str += arr.toString() + '
    ';
            })
    
            str =  encodeURIComponent(str);         //解决换行符无法识别问题
            var url = 'data:text/txt;charset=utf-8,ufeff'+ str;
            var downloadLink = document.createElement("a");
            downloadLink.href = url;
            downloadLink.download = fileName+".csv";
            document.body.appendChild(downloadLink);
            downloadLink.click();
            downloadLink.remove();
        }
    }
  • 相关阅读:
    ASP.NET CORE MVC验证码
    高效工作必备黑科技软件和网站
    asp.net core 新建area使用asp-action,asp-controller不管用
    add-migration : 无法将“add-migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
    entity framework core + SQLite Error 1: 'no such table: Blogs'.
    abp去掉AbpUser中的Name,Surname
    PIE SDK去相关拉伸
    PIE SDK频率域滤波
    PIE SDK均值滤波
    PIE SDK聚类
  • 原文地址:https://www.cnblogs.com/SunShineM/p/6587614.html
Copyright © 2020-2023  润新知