使用js代码将HTML Table导出为Excel

使用js代码将HTML Table导出为Excel的方法:

直接上源码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" language="javascript">var idTmr;function  getExplorer() {var explorer = window.navigator.userAgent ;//ie if (explorer.indexOf("MSIE") >= 0) {return 'ie';}//firefox else if (explorer.indexOf("Firefox") >= 0) {return 'Firefox';}//Chromeelse if(explorer.indexOf("Chrome") >= 0){return 'Chrome';}//Operaelse if(explorer.indexOf("Opera") >= 0){return 'Opera';}//Safarielse if(explorer.indexOf("Safari") >= 0){return 'Safari';}}function method1(tableid) {//整个表格拷贝到EXCEL中if(getExplorer()=='ie'){var curTbl = document.getElementById(tableid);var oXL = new ActiveXObject("Excel.Application");//创建AX对象excel var oWB = oXL.Workbooks.Add();//获取workbook对象 var xlsheet = oWB.Worksheets(1);//激活当前sheet var sel = document.body.createTextRange();sel.moveToElementText(curTbl);//把表格中的内容移到TextRange中 sel.select();//全选TextRange中内容 sel.execCommand("Copy");//复制TextRange中内容  xlsheet.Paste();//粘贴到活动的EXCEL中       oXL.Visible = true;//设置excel可见属性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);//xls.visible = false;oXL.Quit();oXL = null;//结束excel进程,退出完成//window.setInterval("Cleanup();",1);idTmr = window.setInterval("Cleanup();", 1);}}else{tableToExcel(tableid)}}function Cleanup() {window.clearInterval(idTmr);CollectGarbage();}var tableToExcel = (function() {var uri = 'data:application/vnd.ms-excel;base64,',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"><meta http-equiv="Content-Type" charset=utf-8"><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>',base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) },format = function(s, c) {return s.replace(/{(\w+)}/g,function(m, p) { return c[p]; }) }return function(table, name) {if (!table.nodeType) table = document.getElementById(table)var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}window.location.href = uri + base64(format(template, ctx))}})()
</script></head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="1px" bgcolor="#fff" align="center" id="test"><tr><th width="10%">调查案例</th><th width="10%">公司名称</th><th width="10%">地  址</th><th width="5%">部门</th><th width="5%">联系人</th><th width="10%">联系方式</th><th width="20%">具體情况</th><th width="20%">问券填写</th> <th width="10%">提交时间</th> </tr>
</table>
<input id="Button1" type="button" value="导出EXCEL" οnclick="javascript:method1('test')" style="padding:5px;margin-top:20px;"/> </body> </html>

 

-完-

 

转载于:https://www.cnblogs.com/colinliu/p/tabletoexcel.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql老叶博客_MySQL binlog后面的编号最大是多大?【老叶茶馆公众号】

MySQL binlog后面的编号最大是多大&#xff1f;具体文章请关注微信公众号&#xff1a;izhishuedu 【知数堂】 知数堂版权所有。这里我就不啰嗦了&#xff0c;直接上贴代码&#xff1a;版本&#xff1a;5.7.18mysql-5.7.18/sql/binlog.cc 大约在3310行开始&#xff1a;MAX_LOG_…

如何优雅的当海王……

1 这车怪有个性的▼2 这个胡律师要火啊▼3 被拦下的教师节礼物……▼4 老公”偷情“的证据▼5 这船快得很&#xff0c;沉得快▼6 别耽误孩子&#xff0c;让孩子去跑马拉松吧▼7 这是要电脑养蛊&#xff1f;▼你点的每个赞&#xff0c;我都认真当成了喜欢

Linux Command Line 解析

处理模型 Linux kernel 的启动包括很多组件的初始化和相关配置&#xff0c;这些配置参数一般是通过command line 进行配置的。在进行后续分析之前&#xff0c;先来理解一下command line 的处理模型&#xff1a; 要处理的对象是一个字符串&#xff0c;其中包含了各种配置信息&am…

COSCon'21 参会指南 你想要的这里都有

“ 点击蓝字 / 关注我们 ”| 作者&#xff1a;袁睿斌| 编辑&#xff1a;Corrie| 设计&#xff1a;宋传琪开源社寄语2021年的10月&#xff0c;第六届中国开源年会&#xff08;COSCon21&#xff09;再一次如期召开了。今年的开源寄语&#xff0c;我们能够想到是三个关键词&#x…

Eclipse设定文件的默认打开方式

之前在eclipse中安装了androrid开发环境所有的xml打开发现下面只剩一下选择&#xff0c;原来maven的依赖查询都没有了。 解决方法&#xff1a; 1.最终解决方法 设置默认打开方式为MAVEN POM Editor。 菜单&#xff1a;Window -> Preferences -> General -> Editors -&…

mysql tdh_socket_thread_num_TDH_Socket的一些性能对比数据

workming&#xff1a;请教一下&#xff0c;Spark On YARN总会失败&#xff0c;信息如下&#xff1a;||2014-01-03 16:14:06,675 WARN [main] yarn.ApplicationMaster (Logging.scala:logWarning(60)) - Failed to connect to driver at namenode1:3039, retrying ...||2014-01-…

ios下划线变量:为什么变量前要加下划线才有用?

先看一段代码。 复制代码 appdelegate.h property (weak) IBOutlet NSMatrix *StockType;property (weak) IBOutlet NSMatrix *market; appdelegate.m NSCell *st[market selectedCell]; 编译时&#xff0c;总是提示&#xff0c;找不到market变量&#xff0c;但是StockType却没…

为什么说减速带是脑残的设计?

全世界只有3.14 % 的人关注了爆炸吧知识开车的谁没有压过减速带啊&#xff0c;当你以较高车速通过它时&#xff0c;剧烈振动会带给你强烈的刺激&#xff0c;有时候胃都感觉不舒服&#xff0c;加强你的不安全疑虑&#xff0c;促使你减速行驶。简单来说&#xff0c;就是“顶你起来…

C++语言基本概念(5)

面向对象编程与面向过程的一个根本区别&#xff0c;就是面向对象编程在虚拟的计算机世界构造出了形形的对象&#xff0c;很显然这些对象之间必然要发生关系&#xff0c;如何区别描述这些关系也是面向对象这门课所要研究的问题。我们都知道其中有非常多的概念&#xff0c;有些概…

jQuery.extend与jQuery.fn.extend的区别分析与实例

jQuery.extend与jQuery.fn.extend都是为jquery开发插件。 不同是的&#xff1a; jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 前者不需要创建jquery实例就可以执行。 后者必须得对象绑定事件才可以执行! 代…

python色标_在Python中用色标可视化移动速度

我想我最好加上我自己的答案&#xff0c;因为来自GlobalTraveler的答案涉及到画很多线&#xff0c;我觉得有点脏。在似乎在叶中确实没有这样做的选择&#xff0c;但你可以画多个标记&#xff0c;并分别给它们着色import numpy as npfrom matplotlib import cmimport folium# rg…

创建工程师文化的3个步骤 | IDCF

原文地址&#xff1a;https://dzone.com/articles/3-steps-to-create-an-engineering-culture作者博文地址&#xff1a;https://start2grow.net/?screateagreatengineeringculture作者&#xff1a;Linda Bovaird译者&#xff1a;冬哥在之前的文章&#xff08;https://start2gr…

UIButton的竖排图片和文本

UIButton的竖排图片和文本UIButton的竖排图片和文本第一想法:实现思路第二种方法UIContentHorizontalAlignment/UIControlContentVerticalAlignment完整代码片段:参考资料:更新UIButton的竖排图片和文本UIButton的竖排的话,如果不知道方法,就会走很多弯路了第一想法:实现思路橙…

他是绝世天才,却只开了半辈子的挂!死后惨遭封号200年,这就是和牛顿抬杠的下场.........

全世界只有3.14 % 的人关注了爆炸吧知识既生胡何生顿1703年3月3日&#xff0c;68岁的“英国达芬奇”躺在病床上&#xff0c;奄奄一息。临终前&#xff0c;他仍在惦记一个事儿&#xff1a;他希望&#xff0c;当年砸牛顿头上的&#xff0c;是个榴莲。因为是牛顿&#xff0c;让终身…

MS SQL Server查询优化方法

(1) ●查询速度慢的原因很多&#xff0c;常见如下几种&#xff1a;1、没有索引或者没有用到索引(这是查询慢最常见的问题&#xff0c;是程序设计的缺陷) 2、I/O吞吐量小&#xff0c;形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的…

CXF小窥:知道服务器端wsdl地址,如何本地测试服务接口

今天boss给了一篇公司与短信平台公司合作的文档&#xff0c;让我测试一下是否真正常通信&#xff0c;以前项目中webservice都是其他同事在弄&#xff0c;今天头大了&#xff0c;查了一会资料&#xff0c;终于搞定了&#xff01;现在记录一下 文档上有 WSDL&#xff1a;http://s…

使用LightBDD轻松实现行为驱动开发

前言上次&#xff0c;我们介绍了行为驱动开发&#xff08;BDD&#xff09;它的优点是可以使用纯文本编写测试用例&#xff0c;不需要编程经验。如果测试用例也全部是程序员写的情况&#xff0c;这种方式反而存在障碍&#xff0c;feature使用与编写代码的语言完全不同的语言来编…

Android百度地图开发01之初体验

做关于位置或者定位的app的时候免不了使用地图功能&#xff0c;本人最近由于项目的需求需要使用百度地图的一些功能&#xff0c;所以这几天研究了一下&#xff0c;现写一下blog记录一下&#xff0c;欢迎大家评论指正&#xff01; 一、申请AK&#xff08;API Key&#xff09; 要…

php cli swoole mysql_[了解实践]Swoole、PHP与MySQL:连接池,swoole扩展实现真正的PHP数据库连接池。...

背景&#xff1a;swoole的出现&#xff0c;包括PHP出现前&#xff0c;在新浪企业邮箱就有基于Sun Solaris 系统上面用c写Mysql的长连接&#xff0c;那时候的长连接是基于RPC实现&#xff0c;对mysql那一端形成一个远程过程的调用&#xff0c;通过XDR数据结构进行解析mysql传来的…

会按摩的充气颈枕,只占行李箱一个角,却能让你的脖子爽到爆

▲ 点击查看出差、旅游、探亲&#xff0c;舟车劳顿的路上&#xff0c;想要休息实在太难。临近国庆&#xff0c;有多少人准备外出旅游、回家或者出差的&#xff1f;然而在舟车劳顿的路上&#xff0c;想要休息一下&#xff0c;不要太难。睡到一半撞到车窗痛醒&#xff0c;不小心歪…