JS 导出网页中Table内容到excel
- <html>
- <head>
- <script type="text/javascript" language="javascript">
- var idTmr;
- function method1(tableid) {//整个表格拷贝到EXCEL中
- 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("将Table导出到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);
- }
- }
- function Cleanup() {
- window.clearInterval(idTmr);
- CollectGarbage();
- }
- </script>
- </head>
- <body>
- <table id="ta">
- <tr>
- <td>1</td><td>admin</td>
- <td>23</td><td>程序员</td>
- <td>天津</td><td>admin@kali.com</td>
- </tr>
- <tr>
- <td>2</td><td>guest</td>
- <td>23</td><td>测试员</td>
- <td>北京</td><td>guest@kali.com</td>
- </tr>
- </table>
- <input id="Button1" type="button" value="导出EXCEL"
- onclick="javascript:method1('ta')" />
- </body>
- </html>
<html>
<head>
<script type="text/javascript" language="javascript">
var idTmr;
function method1(tableid) {//整个表格拷贝到EXCEL中
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("将Table导出到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); }
}
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
}
</script> </head>
<body>
<table id="ta">
<tr>
<td>1</td><td>admin</td>
<td>23</td><td>程序员</td>
<td>天津</td><td>admin@kali.com</td>
</tr>
<tr>
<td>2</td><td>guest</td>
<td>23</td><td>测试员</td>
<td>北京</td><td>guest@kali.com</td>
</tr>
</table>
<input id="Button1" type="button" value="导出EXCEL"
onclick="javascript:method1('ta')" />
</body>
</html>
或者:
- 、<html>
- <head>
- <script type="text/javascript">
- function dataToExcel(tableid) {//整个表格拷贝到EXCEL中
- var curTbl = document.getElementById(tableid);
- var oXL;
- try {
- oXL = GetObject("", "Excel.Application");
- }
- catch (E) {
- try {
- oXL = new ActiveXObject("Excel.Application");
- }
- catch (E2) {
- //alert("Please confirm:\n1.Microsoft Excel has been installed.\n2.Internet
- Options=>Security=>Setting \"Enable unsafe ActiveX\"");
- alert("请确认:\n1.机器上Excel已经安装.\n2.Internet 选项=>安全=>Internet \"对
- 未标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"");
- return;
- }
- }
- //创建AX对象excel
- var oWB = oXL.Workbooks.Add();
- //获取workbook对象
- var oSheet = oWB.ActiveSheet;
- //激活当前sheet
- var sel = document.body.createTextRange();
- sel.moveToElementText(curTbl);
- //把表格中的内容移到TextRange中
- sel.select();
- //全选TextRange中内容
- sel.execCommand("Copy");
- //复制TextRange中内容
- oSheet.Paste();
- //粘贴到活动的EXCEL中
- oXL.Visible = true;
- //设置excel可见属性
- }
- </script>
- </head>
- <body>
- <table id="ta">
- <tr>
- <td>1</td><td>admin</td>
- <td>23</td><td>程序员</td>
- <td>天津</td><td>admin@kali.com</td>
- </tr>
- <tr>
- <td>2</td><td>guest</td>
- <td>23</td><td>测试员</td>
- <td>北京</td><td>guest@kali.com</td>
- </tr>
- </table>
- <input id="Button1" type="button" value="导出EXCEL"
- onclick="javascript:dataToExcel('ta')" />
- </body>
- </html>
原文转自: http://blog.csdn.net/kalision/article/details/8350506
例外集中方法 :
http://www.cnblogs.com/QXHao/p/5995792.html
JS 导出网页中Table内容到excel的更多相关文章
- 导出网页中的table到excel
导出网页中的table到excel的两种简便方法: 1. 纯 JavaScript 方法,缺点只支持IE浏览器 var elTable = document.getElementById(" ...
- js将HTML中table导出到EXCEL word (只支持IE) 另用php 配合AJAX可以支持所有浏览器
转载请注明来源:https://www.cnblogs.com/hookjc/ <HTML> <HEAD> <title>WEB页面导出为EXC ...
- C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel
其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...
- javascript怎么获取指定url网页中的内容
javascript怎么获取指定url网页中的内容 一.总结 一句话总结:推荐jquery中ajax,简单方便. 1.js能跨域操作么? javascript出于安全机制不允许跨域操作的. 二.用ph ...
- 输出内容 document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容
输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...
- prism.js——让网页中的代码更好看
粗放的代码展示 有时候,网页中会插入代码.直接把代码放入<pre></pre>标签和<code></code>标签里,也算是可以在页面中显示出来. 比如 ...
- [原创]纯JS实现网页中多选复选框checkbox和单选radio的美化效果
图片素材: 最终效果图: <html><title> 纯JS实现网页中多选复选框checkbox和单选radio的美化效果</title><head>& ...
- Ifvisible.js – 判断网页中的用户是闲置还是活动状态
ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...
- maven-bundle-plugin 2.4.0以下版本导出META-INF中的内容到MANIFEST.MF中
今天终于把maven-bundle-plugin不能导出META-INF中的内容到Export-Package中的问题解决了,因为用到的第三方JAR包需要加载META-INF/XX/XX.xml这个内 ...
随机推荐
- 《Mysql - Order By 的工作原理?》
一:概述 - order by 用于 SQL 语句中的排序. - 以 select city,name,age from t where city='杭州' order by name limit ...
- str.format() 格式化数字的多种方法
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数 ...
- 彻底关闭networkmanager
chkconfig NetworkManager offsystemctl stop NetworkManagersystemctl disable NetworkManager
- Android studio 3.1.3真机调试报错,no target device found
Android studio 3.1.2 的 Android monitor 改为 Android profiler,直接点这个就可以真机调试,在手机安装相应app 如果不行,报错,"no ...
- nfs挂载文件
1. 安装必备插件 以防centos7默认没有启动nfs服务 yum -y install nfs-utils rpcbind # 启动 rpcbind 和配置开机自启动 systemctl sta ...
- dg搭建后oracle_redo不存在
目的:在oracle 10.2.0.4 环境中,搭建oracle dg遇到 备库redo不存在的问题,另一位同事搭建oracle 11.2.0.4 dg在备库也遇到同样的问题,如下描述处理过程. 参考 ...
- jmeter接口测试中的用例数据分离
用jmeter做接口测试的话,一个jmx文件就可以是一个用例,而用例的设计多数还是等价类.边界值等方法.用例越来越多的时候,维护比较麻烦,所以可以把用例的数据存在csv文件中,然后通过组件(CSV D ...
- 【转载】在windows上部署使用Redis
下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...
- Python排序算法(六)——归并排序(MERGE-SORT)
有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10800699.html 一.归并排序(MERG ...
- webstorm编写react native,代码修改后,重新编译运行没有变化的问题
w我是拷贝一份react native代码到另一台电脑,发现修改代码运行之后不显示修改后的效果,即仍然与原来的效果一样,暂时不知道什么原因, 后来我运行了npm install 就可以了,不知道是不是 ...