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 相关文章推荐
this和执行上下文实现代码
Jul 01 Javascript
JS 操作符整理[推荐收藏]
Nov 15 Javascript
from 表单提交返回值用post或者是get方法实现
Aug 21 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
jQuery简单注册和禁用全局事件的方法
Jul 25 Javascript
javascript添加前置0(补零)的几种方法
Jan 05 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
Sep 26 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
vue下拉列表功能实例代码
Apr 08 Javascript
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
基于JS实现web端录音与播放功能
Apr 17 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 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中变量引用与变量销毁机制分析
2014/11/15 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
vue实现nav导航栏的方法
2017/12/13 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
详解js加减乘除精确计算
2019/03/19 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python 全局变量的import机制介绍
2017/09/07 Python
python+django加载静态网页模板解析
2017/12/12 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
python爬虫请求头的使用
2020/12/01 Python
弘扬职业精神演讲稿
2014/03/20 职场文书
竞选村长演讲稿
2014/04/28 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL