博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
导出excel
阅读量:5308 次
发布时间:2019-06-14

本文共 2222 字,大约阅读时间需要 7 分钟。

1.后台实现

  导出成功后后台返给url,那个url就是导出的那个excel

   前端做出点击导出,弹出下载目录,然后下载

    直接window.location.href=url;(在当前页打开excel的地址)

2,js实现

function exportFun(){      var row=[0,8];//你不要的行的坐标      var line=[0,8];//你不需要的列的坐标      exportExcel('tab','导出',row,line);    } 如果你不传入row,line,导出全部的数据    function exportExcel(tableID,fileName,row,line) {        var agent = navigator.userAgent.toLowerCase();        var isIE = /(msie\s|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('\n',' '));                }                data.push(arr);            }            var str = '';            data.forEach(function(arr, index){                str += arr.toString() + '\n';            })            str =  encodeURIComponent(str);         //解决换行符无法识别问题            var url = 'data:text/txt;charset=utf-8,\ufeff'+ str;            var downloadLink = document.createElement("a");            downloadLink.href = url;            downloadLink.download = fileName+".xlsx";            document.body.appendChild(downloadLink);            downloadLink.click();            downloadLink.remove();        }    }    function inArray(target, arr) {   // 不适用于引用数据类型      return arr.some(function(elem, index) {        if (target === elem) {          return true;        }      })    }

 

  

转载于:https://www.cnblogs.com/SunShineM/p/7424363.html

你可能感兴趣的文章
C语言输入日期计算是该年的第几天
查看>>
Caliburn v2 变更-模块化
查看>>
Python之路,Day3 - Python基础3
查看>>
实验 4 在分支循环结构中调用自定义函数
查看>>
Java学习笔记-3.类与对象
查看>>
力扣——车的可用捕货量
查看>>
Redis参数
查看>>
当多个客户请求一个servlet时,引擎为每个客户启动一个线程,那么servlet类的成员变量被所有的线程共享?...
查看>>
jquery更改输入框type为密码框password
查看>>
Usb设备驱动0:从usb设备被发现开始
查看>>
如何有效表达自己的想法
查看>>
ORA-02050故障诊断一例
查看>>
mysql sql灵活运用
查看>>
linux 查看并终止进程
查看>>
android控制控制的显示顺序
查看>>
无法识别的属性“targetFramework”。请注意属性名称区分大写和小写。错误解决的方法...
查看>>
SuiteScript 2.0 Error: SSS_INVALID_SRCH_FILTER_EXPR_TYPE
查看>>
Web前端从入门到精通-10 css简介——盒模型2
查看>>
滚动条
查看>>
Tomcat
查看>>