利用JavaScript所见即所得的生成Excel表格

笔者认为,解决问题的途径n种,也有很多组合的使用。我们用Excel导出大量数据的时候,可能会从服务器端,但如果数据量较小,是不是也可以考虑使用JavaScript就可以轻量级的导出呢。另外实际工作中,用户也会考虑,所见即所得的导出当前见到的内容到Excel表格中。
这里,笔者有那么一丢丢感想,像文档数据、文件数据、图片数据归根结底都是一些数据码,而数据码的解析方式也是分多钟的,像.html的文件可以用记事本、浏览器、编辑工具等打开。这里笔者就利用Excel能够打开html文档,投机取巧了一把后缀名是.xls哦。
JavaScript导出表格三个弊端:1、只能导出当前页面;2、若存在大量数据,则JavaScript超时崩溃;3、导出数据的同时,不可以做其他事情。因此,一些正式的、大量的数据就不要通过JavaScript生成了,小打小闹可以哦。
上代码喽,笔者亲测哦:

为楚雄州等地区用户提供了全套网页设计制作服务,及楚雄州网站建设行业解决方案。主营业务为成都做网站、网站设计、楚雄州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <table border="1">
        <caption>游戏级别统计表</caption>
        <tr>
            <th rowspan="2">序号</th>
            <th rowspan="2">游戏号</th>
            <th rowspan="2">姓名</th>
            <th rowspan="2">性别</th>
            <th rowspan="2">年龄</th>
            <th colspan="3">等级</th>
        </tr>
        <tr>
            <th>lol</th>
            <th>cf</th>
            <th>dnf</th>
            <th>lsd</th>
        </tr>
        <tr>
            <td>1</td>
            <td>20180811</td>
            <td>RedAnt</td>
            <td>男</td>
            <td>不详</td>
            <td>80</td>
            <td>双杠一星</td>
            <td>80</td>
            <td>213</td>
        </tr>
        <tr>
            <td>2</td>
            <td>20180812</td>
            <td>HoYL</td>
            <td>男</td>
            <td>不详</td>
            <td>81</td>
            <td>双杠一星</td>
            <td>80</td>
            <td>999</td>
        </tr>
        <tr>
            <td>2</td>
            <td>20180813</td>
            <td>Thinking</td>
            <td>男</td>
            <td>不详</td>
            <td>81</td>
            <td>双杠一星</td>
            <td>80</td>
            <td>999</td>
        </tr>
    </table>
    <a download="游戏级别统计表.xls">导出表格</a>
    <script type="text/javascript" src="js/jquery.min.js" ></script>
    <script>
        $(document).ready(function(){
            var now_html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementsByTagName("table")[0].outerHTML + "</body></html>";
            /*outerHTML:获取整个table元素的HTML代码(包括<table>标签),包装成一个完整的HTML文档
             charset为urf-8以防止中文乱码*/
            var blob = new Blob([now_html], { type: "application/vnd.ms-excel" });
            /*实例化一个Blob对象
             * Blob构造函数:[now_html]包含文件的数组
             * { type: "application/vnd.ms-excel" }:是包含文件类型属性的对象*/
            var a = document.getElementsByTagName("a")[0];
            //利用URL.createObjectURL()方法为a元素生成blob URL
            a.href = URL.createObjectURL(blob);
        })
    </script>
</body>
</html>

演示效果:
利用JavaScript所见即所得的生成Excel表格
利用JavaScript所见即所得的生成Excel表格
没有在所有浏览器上都调试哦,笔者认为前端的东西至少适配三种内核浏览器的。

分享文章:利用JavaScript所见即所得的生成Excel表格
文章路径:https://www.cdcxhl.com/article8/gschop.html

成都网站建设公司_创新互联,为您提供网站营销网站制作小程序开发定制开发App设计商城网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司