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 相关文章推荐
11款基于Javascript的文件管理器
Oct 25 Javascript
Document对象内容集合(比较全)
Sep 06 Javascript
javascript 运算数的求值顺序
Aug 23 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
Node.js返回JSONP详解
May 18 Javascript
sea.js常用的api简易文档
Nov 15 Javascript
深入浅出webpack之externals的使用
Dec 04 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 Javascript
vue实现选中效果
Oct 07 Javascript
JavaScript代码实现简单计算器
Dec 27 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
zend api扩展的php对象的autoload工具
2011/04/18 PHP
php中大括号作用介绍
2012/03/22 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
PHP微商城开源代码实例
2019/03/27 PHP
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
javascript实现文字跑马灯效果
2020/06/18 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
Python 3.x 新特性及10大变化
2015/06/12 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
django基于restframework的CBV封装详解
2019/08/08 Python
Python函数生成器原理及使用详解
2020/03/12 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
低碳环保标语
2014/06/12 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
房屋所有权证明
2015/06/19 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
Python3.10的一些新特性原理分析
2021/09/15 Python