直接上代码。

<!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>js导出xls表格</title><style>html, body {width: 100%;height: 100%;}body {display: flex;justify-content: center;align-items: center;}table {margin: 10px 0; }</style>
</head>
<body><div class="main"><a id="export_xls" href="javascript:;">导出xls表格</a><table border="1" id="print_table"><thead><tr><th>用户名</th><th>密码</th></tr></thead><tbody><tr><td>admin</td><td>123456</td></tr><tr><td>admin_power</td><td>123456</td></tr><tr><td>user</td><td>123456</td></tr></tbody></table></div>
</body>
<script>var w_timer;// 想要更改下载xls文件名,必须使用 a标签export_xls('print_table');// 输出 xls 文件function export_xls(table_id) {console.log(getExplorer())if (getExplorer()=="ie") {// ie浏览器处理var curTbl = document.getElementById(table_id);var oXL = new ActiveXObject("Excel.Application");var oWB = oXL.Workbooks.Add();var xlsheet = oWB.Worksheets(1);var sel = document.body.createTextRange();sel.moveToElementText(curTbl);sel.select();sel.execCommand("Copy");xlsheet.Paste();oXL.Visible = true;try {var fname = oXL.Application.GetSaveAsFilename("Excel.xls","Excel Spreadsheets (*.xls), *.xls");} catch(e) {print("Nested catch caught " + e);} finally {oWB.SaveAs(fname);oWB.Close(savechanges = false);oXL.Quit();oXL = null;w_timer = window.setInterval("Cleanup();", 1);}}else {print_xls(table_id,'用户列表');}}function Cleanup(){window.clearInterval(w_timer);CollectGarbage();}// 不同浏览器处理function getExplorer() {var explorer = window.navigator.userAgent;//ie  if(explorer.indexOf("MSIE") >= 0) {return 'ie';}//firefox  else if(explorer.indexOf("Firefox") >= 0) {return 'Firefox';}//Chrome  else if(explorer.indexOf("Chrome") >= 0) {return 'Chrome';}//Opera  else if(explorer.indexOf("Opera") >= 0) {return 'Opera';}//Safari  else if(explorer.indexOf("Safari") >= 0) {return 'Safari';}}// 输出xls文件主要函数function print_xls (table_id,name) {var uri = 'data:application/vnd.ms-excel;base64,';var table = document.getElementById(table_id);var base64 = function(tem) {return window.btoa(unescape(encodeURIComponent(tem)))};var table_tem = '<html><head><meta charset="UTF-8"></head><body><table  border="1">' + table.innerHTML + '</table></body></html>';document.getElementById('export_xls').href=uri + base64(table_tem);document.getElementById('export_xls').download = name || '下载';}</script>
</html>

js实现下载xls文件相关推荐

  1. java从服务器下载xls文件到客户端

    查考网上的代码写了一个下载xls文件到客户端的jsp页面,只要将服务器的文件地址传给这个jsp页面就可以实现下载文件到客户端了. Code: <%@ page language="ja ...

  2. vue后端返回数据流 前端导出下载xls文件

    后端返回数据流, 前端导出下载xls文件 export function exportMethod() {axios({method:'get',url: url+'params',responseT ...

  3. 利用php下载xls文件

    昨天看ECSHOP源码的时候,碰到了一点自己没有学过的只是--如何利用php实现下载xls文件.根据它的源码,我动手实现了一下,成功实现了这个效果. 源码: <?php/**@Descripti ...

  4. 移动端下载xls文件

    Android通过iframe的src属性直接填写链接下载后打开没有显示内容显示了js语句 window.open 和 a标签下载下来跟上面一样 没有查找出这个问提的原因怎么解决 但是ios是预览是可 ...

  5. JS 实现下载Blod文件

    实现代码: //下载Blod文件 const downLoadBlobFile = (filename, res) => {if (!res) return;let a = document.c ...

  6. 使用js直接下载pdf文件而不用在新的浏览器窗口打开

    最近接了一个需求,要求用户点击下载按钮后直接下载pdf文件,而不是打开一个新窗口,让用户再去手动保存. 接到需求后我立刻着手在网上查找文档,发现很多声称可以实现直接下载的方法都不行,只有下面这个方法成 ...

  7. python beautifulsoup下载_使用Python和BeautifulSoup从网页下载.xls文件

    你的剧本目前的问题是:url有一个尾随的/在请求时给出一个无效的页面,而不是列出要下载的文件. soup.select(...)中的CSS选择器正在选择具有属性webpartid的div,该属性在链接 ...

  8. php下载xls文件

    <a class="btn btn-primary radius" style="background:green" data-title="导 ...

  9. vue 使用Blob实现下载xls文件

    1 页面代码 <el-button size="mini" id='testBtn2' @click="test"><i class=&quo ...

  10. JS实现下载txt文件

    前言 有时候项目需要下载一些信息,而后端却又不给我提供接口.我们就可以采用下面的方式,将一些信息保存下载到一个txt文件中.下面我们提供两种下载txt的方式. 一.采用a标签的download属性实现 ...

最新文章

  1. VC6工程升级VS2013遇到的问题
  2. 接口类抽象类 封装
  3. Python网络编程之TCP服务器客户端(二)
  4. AMD Cubemapgen for physically based rendering
  5. Effective C++ 精要(第五部分:实现)
  6. 可怕!你没看错,这次确实是纯手工实现一个MyBatis框架!
  7. boost noncopyable实现禁止类拷贝
  8. 从我的客户谈营销公司怎样将创业企业做大的
  9. 软件找不到msvcp140.dll无法继续执行怎么办
  10. 联想z400linux调节屏幕亮度,联想z400屏幕亮度调节方法
  11. 邮件营销技巧和经验分享
  12. 相对路径、绝对路径写法
  13. android集成EasyPlayer播放器播放实时流媒体视屏
  14. CSS 文本超出溢出显示省略号...
  15. 设计模式之工厂模式(factory pattern)
  16. ORACLE ERP 系统架构与应用实践
  17. Codeforces Round #702 (Div. 3)全部题解
  18. 测试开发工程师,年薪100W不过分吧
  19. Kinect v2.0原理介绍之八:高清面部帧(1) FACS 介绍
  20. 给最近要离职的朋友一些建议 No.190

热门文章

  1. BZOJ2794: [Poi2012]Cloakroom【偏序+背包】
  2. 研报摘要|元宇宙:下一代互联网启程(附元宇宙深度报告PDF)
  3. Windows | 用youtube-dl批量下载mp3格式音频
  4. 腾讯与360继续争,受益的是谁?
  5. 基于学习的方法决定在哪些分支节点上运行heuristic算法
  6. centos7(命令行版)安装teamviewer记录
  7. Codeforces1388 D. Captain Flint and Treasure(贪心)
  8. 核磁共振谱仪定义、发展及基本原理
  9. 报价单与贸易术语关系
  10. 获取level2行情接口的功能详解