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 相关文章推荐
番茄的表单验证类代码修改版
Jul 18 Javascript
用js统计用户下载网页所需时间的脚本
Oct 15 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
node.js中的fs.closeSync方法使用说明
Dec 17 Javascript
javascript实现tab切换的四种方法
Nov 05 Javascript
js正则表达式验证邮件地址
Nov 12 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
Jan 08 Javascript
Seajs源码详解分析
Apr 02 Javascript
JavaScript实现指定数量的并发限制的示例代码
Mar 10 Javascript
深度解读vue-resize的具体用法
Jul 08 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中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
javascript History对象原理解析
2020/02/17 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
深入浅出学习python装饰器
2017/09/29 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
毕业生医学检验求职信
2013/10/16 职场文书
农村婚礼证婚词
2014/01/08 职场文书
信息总监管理职责范本
2014/03/08 职场文书
乔迁之喜主持词
2014/03/27 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
超市工作总结范文2014
2014/12/19 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
入团申请书格式
2019/06/20 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏