1. <script language="JavaScript" type="text/javascript">
  2. //jQuery HTML导出Excel文件(兼容IE及所有浏览器)
  3. function HtmlExportToExcel(tableid,file_name) {
  4. var filename =file_name; //'Book'
  5. if (getExplorer() == 'ie' || getExplorer() == undefined) {
  6. HtmlExportToExcelForIE(tableid, filename);
  7. }
  8. else {
  9. HtmlExportToExcelForEntire(tableid, filename)
  10. }
  11. }
  12. //IE浏览器导出Excel
  13. function HtmlExportToExcelForIE(tableid, filename) {
  14. try {
  15. var curTbl = document.getElementById(tableid);
  16. var oXL;
  17. try{
  18. oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
  19. }catch(e){
  20. alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用");
  21. return false;
  22. }
  23. var oWB = oXL.Workbooks.Add(); //获取workbook对象
  24. var oSheet = oWB.ActiveSheet;//激活当前sheet
  25. var sel = document.body.createTextRange();
  26. sel.moveToElementText(curTbl); //把表格中的内容移到TextRange中
  27. try{
  28. sel.select(); //全选TextRange中内容
  29. }catch(e1){
  30. e1.description
  31. }
  32. sel.execCommand("Copy");//复制TextRange中内容
  33. oSheet.Paste();//粘贴到活动的EXCEL中
  34. oXL.Visible = true; //设置excel可见属性
  35. var fname = oXL.Application.GetSaveAsFilename(filename+".xls", "Excel Spreadsheets (*.xls), *.xls");
  36. oWB.SaveAs(fname);
  37. oWB.Close();
  38. oXL.Quit();
  39.  
  40. } catch (e) {
  41. alert(e.description);
  42. }
  43. }
  44.  
  45. //非IE浏览器导出Excel
  46. var HtmlExportToExcelForEntire = (function() {
  47. var uri = 'data:application/vnd.ms-excel;base64,',
  48. template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
  49. base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) },
  50. format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
  51. return function(table, name) {
  52. if (!table.nodeType) { table = document.getElementById(table); }
  53. var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }
  54. document.getElementById("dlink").href = uri + base64(format(template, ctx));
  55. document.getElementById("dlink").download = name + ".xls";
  56. document.getElementById("dlink").click();
  57. }
  58. })()
  59.  
  60. function getExplorer() {
  61. var explorer = window.navigator.userAgent;
  62. //ie
  63. if (explorer.indexOf("MSIE") >= 0) {
  64. return 'ie';
  65. }
  66. //firefox
  67. else if (explorer.indexOf("Firefox") >= 0) {
  68. return 'Firefox';
  69. }
  70. //Chrome
  71. else if (explorer.indexOf("Chrome") >= 0) {
  72. return 'Chrome';
  73. }
  74. //Opera
  75. else if (explorer.indexOf("Opera") >= 0) {
  76. return 'Opera';
  77. }
  78. //Safari
  79. else if (explorer.indexOf("Safari") >= 0) {
  80. return 'Safari';
  81. }
  82. }
  83. </script>
  1. //调用
  2. function ToExcel(){
  3.  
  4. HtmlExportToExcel('table_main','Book');
  5. }
  6.  
  7. //html部分 table_main为table的id
  8. <table id="table_main" >
  9.  
  10. </table>

  

  

javascript 将 table 导出 Excel ,可跨行跨列的更多相关文章

  1. 支持IE,FireFox,Chrome三大主流浏览器,通过js+Flash方式将table导出Excel文件

    今天在做项目的时候,遇到了前端下载Excel的功能,结果原先的代码,如下: function generate_excel(tableid) {        var table = document ...

  2. html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式

    先上代码   <script type="text/javascript" language="javascript">   var idTmr; ...

  3. js实现table导出Excel,保留table样式

    浏览器环境:谷歌浏览器 1.在导出Excel的时候,保存table的样式,有2种方法,①是在table的行内写style样式,②是在模板里面添加样式 2.第一种方式:行内添加样式 <td sty ...

  4. ASP如何将table导出EXCEL表格

    网页导出excel表格非常常用,对于一些加载<table>的数据网页,经常会用到这种功能,下面和大家分享一下ASP如何导出EXCEL表格 工具/原料   ASP编辑器 方法/步骤     ...

  5. html中的table导出Excel

    演示地址: http://www.jq22.com/yanshi3312 具体代码: <!DOCTYPE html> <html lang="zh-CN"> ...

  6. html中的table导出Excel (亲测有用(●'◡'●))

    演示地址: http://www.jq22.com/yanshi3312 具体代码: <!DOCTYPE html> <html lang="zh-CN"> ...

  7. 使用javascript纯前端导出excel

    前言(感谢技术的分享者) 参考博客地址 github地址 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls.xlsx ...

  8. element ui table 导出excel表格

    https://blog.csdn.net/u010427666/article/details/79208145 vue2.0 + element UI 中 el-table 数据导出Excel1. ...

  9. 如何使用JavaScript导入和导出Excel文件

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. JavaScript是一个涵盖多种框架.直译式.可以轻松自定义客户端的脚本 ...

随机推荐

  1. C++11学习笔记之三lamda表达式,std::function, std::bind

    //lamda //first lamda [] {}; // second lamda []() //or no need () when paramater is null { std::cout ...

  2. ceph中pool的管理

    1.创建pool 创建ceph pool的命令如下,它的参数包括pool名字.PG和PGP的数量. 若少于5个OSD, 设置pg_num为128. 5~10个OSD,设置pg_num为512. 10~ ...

  3. command >/dev/null 2>&1 解说

    0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 &  == ...

  4. chattr命令锁定账户敏感文件

    有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux ...

  5. 基于ZKEACMS的.Net Core多租户CMS建站系统

    多租户架构 多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性.简单讲:在一台服务器上运行单个应用实例,它为 ...

  6. Python【流程控制与循环】

    本文介绍 1.流程控制 2.while循环 一.流程控制 单分支 if 条件: ...Python代码,满足条件执行 双分支 if 条件: ...Python代码,满足条件执行 else: ...Py ...

  7. unit vs2017基于nunit framework创建单元测试

    unit  vs2017基于nunit framework创建单元测试 一.简叙: 单元测试大型项目中是必备的,所以不可忽视,一个项目的成败就看是否有单元测试,对后期的扩展维护都带来了便利. 二.安装 ...

  8. 新编辑器Cocos Creator发布:对不起我来晚了!

    1月19日,由Cocos创始人王哲亲手撰写的一篇Cocos Creator新品发布稿件在朋友圈被行业人士疯狂转载,短短数小时阅读量突破五位数.Cocos Creator被誉为“注定将揭开Cocos开发 ...

  9. ArchLinux 下安装 SecureCRT

    相关说明: 上篇发了个Linux(Ubuntu) 下 SecureCRT 7 30天循环破解在启动的时候会多输入一次确认窗口, 后来maz-1网友留言说可以用Windows破解后程序替换Linux下的 ...

  10. 网络CCNA基础了解

    关于网络 CCNA.CCNP.CCIE 中的 CCNA 一.逻辑与.或.非 AND --> "与"计算 1 AND 1 = 1(取严) 1 AND 0 = 0 0 AND 1 ...