JavaScript将页面表格导出为Excel的具体实现


Posted in Javascript onDecember 27, 2013
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE>导出Excel</TITLE> 
<script type="text/javascript"> 
var idTmr = ""; 
function killExcelProcess(appExcel_){ 
appExcel_.Quit(); 
appExcel_ = null; 
idTmr = window.setInterval("Cleanup();",1); 
} //导出到excel,参数tableid为JSP页面需要导出的table的id,需要更改IE的安全设置,ActiveX都打开,如果还是不能使用,再服务端运行“regsvr32 scrrun.dll” 
function exportToExcel(tableid,notitleandsearch){ 
try { 
clipboardData.setData('Text',''); 
var appExcel = new ActiveXObject("Excel.Application"); 
killExcelProcess(appExcel); 
appExcel.workbooks.add; 
//标题 
if (notitleandsearch==null||notitleandsearch==false){ 
var elTable = document.getElementById('div_title'); 
var oRangeRef = document.body.createTextRange(); 
oRangeRef.moveToElementText(elTable); 
oRangeRef.execCommand( "Copy" ); 
appExcel.ActiveSheet.Cells(1,3).select(); 
appExcel.ActiveSheet.Paste(); 
clipboardData.setData('Text',''); 
appExcel.ActiveSheet.Cells(2,1).select(); 
appExcel.ActiveSheet.Paste(); 
} 
var elTable1 = document.getElementById(tableid); 
var oRangeRef1 = document.body.createTextRange(); 
oRangeRef1.moveToElementText(elTable1); 
oRangeRef1.execCommand( "Copy" ); 
appExcel.WorkSheets(1).Activate; 
if (notitleandsearch==null||notitleandsearch==false){ 
appExcel.ActiveSheet.Cells(3,1).select(); 
}else{ 
appExcel.ActiveSheet.Cells(1,1).select(); 
} 
appExcel.WorkSheets(1).Activate; 
appExcel.ActiveSheet.Paste(); 
appExcel.Visible = true; 
} catch(e) { 
alert("请确认IE安全设置,ActiveX都启用!"); 
return false; 
} 
clipboardData.setData('text',''); 
} 
</script> 
</HEAD> 
<BODY> 
<button onclick="javascript:exportToExcel('testList','');">导出</button><br> 
<div id='div_title' > 
<font color='black' size='4'><strong>导出报表</strong></font> 
</div> 
<table id = "testList" bordercolor="#000000" border = "1"> 
<tr> 
<td>序列</td> 
<td>姓名</td> 
<td>数量</td> 
</tr> 
<tr> 
<td>1</td> 
<td>张三1</td> 
<td>2</td> 
</tr> 
<tr> 
<td>2</td> 
<td>张三2</td> 
<td>2</td> 
</tr> 
<tr> 
<td>3</td> 
<td>张三3</td> 
<td>2</td> 
</tr> 
<tr> 
<td>4</td> 
<td>张三4</td> 
<td>2</td> 
</tr> 
<tr> 
<td>5</td> 
<td>张三5</td> 
<td>2</td> 
</tr> 
<tr> 
<td colspan="2">总计:</td> 
<td>10</td> 
</tr> 
</table> 
</BODY> 
</HTML>
Javascript 相关文章推荐
告诉大家什么是JSON
Jun 10 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
AngularJS模块管理问题的非常规处理方法
Apr 29 Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
使用Node.js为其他程序编写扩展的基本方法
Jun 23 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
Mar 25 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
如何制作一个Node命令行图像识别工具
Dec 12 Javascript
Canvas跟随鼠标炫彩小球的实现
Apr 11 Javascript
Java/JS获取flash高宽的具体方法
Dec 27 #Javascript
location.href用法总结(最主要的)
Dec 27 #Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
Dec 27 #Javascript
JS去除字符串两端空格的简单实例
Dec 27 #Javascript
textarea 控制输入字符字节数(示例代码)
Dec 27 #Javascript
js控制input输入字符解析
Dec 27 #Javascript
javaScript 计算两个日期的天数相差(示例代码)
Dec 27 #Javascript
You might like
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
JavaScript 三种创建对象的方法
2009/10/16 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
jsonp原理及使用
2013/10/28 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
JS document内容及样式操作完整示例
2020/01/14 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
讲解Python中fileno()方法的使用
2015/05/24 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
函数指针的定义是什么
2016/08/14 面试题
网络体系结构及协议的定义
2014/03/13 面试题
继电保护工岗位职责
2014/01/05 职场文书
儿媳婚宴答谢词
2014/01/14 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL