JS调用页面表格导出excel示例代码


Posted in Javascript onMarch 18, 2014

使用JS方法调用页面表格导出excel有很大的限制:
1、目前试了几个浏览器,只有IE支持,
2、点击 工具---安全---自定义级别---ActiveX 相关选项启用
下面是html代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme() + "://" 
+ request.getServerName() + ":" + request.getServerPort() 
+ path + "/"; 
%> 
<html> 
<head> 
<script language="javascript"> 
var idTmr = ""; 
// 函数功能:复制表格到Excel中 
// 参 数:tableID 表的id 
function CellToTable(tableID) 
{ 
var tid=document.getElementById(tableID); 
// 加载ActiveX控件,获取Excel句柄 
var exApp = new ActiveXObject("Excel.Application"); // 创建一个Excel文件 
var owb = exApp.WorkBooks.add(); 
// 获取sheet1句柄CA 
var exSheet = exApp.ActiveWorkBook.WorkSheets(1); 
// 设置sheet1的名称 
exSheet.name="演示复制表格到Excel中"; 
// copy指定的表格 
var sel=document.body.createTextRange(); 
sel.moveToElementText(tid); 
sel.select(); 
sel.execCommand("Copy"); 
exSheet.Paste();// 粘贴到sheet中 
//exApp.save();// 弹出保存对话框,保存Excel文件 
exApp.Visible = false; 
var fname = exApp.Application.GetSaveAsFilename("save.xls", "Excel Spreadsheets (*.xls), *.xls"); 
owb.SaveAs(fname); 
exApp.Quit();// 退出Excel实例 
exApp = null; 
// 调用Cleanup()进行垃圾回收 
idTmr = window.setInterval("Cleanup();",10); 
} 
// 函数功能:杀掉Excel进程 
function Cleanup() { 
window.clearInterval(idTmr); 
CollectGarbage(); 
} 
</script> 
</head> 
<body> 
<table width="307" border="1" cellspacing="0" cellpadding="0" id="tableToExcel" name="tableName"> 
<tr bgcolor="#99CCCC"> 
<td width="66" rowspan="4" bgcolor="#33FF99">吉林的长春</td> 
<td width="67" rowspan="4" bgcolor="#33FF99">辽宁的沈阳</td> 
<td width="94" rowspan="4" bgcolor="#33FF99">黑龙江的哈尔滨</td> 
<td width="30" rowspan="4" bgcolor="#33FF99">北京</td> 
<td width="38" bgcolor="#66CC99">海淀</td> 
</tr> 
<tr bgcolor="#99CCCC"> 
<td bgcolor="#66CC99">吉林-长春</td> 
</tr> 
<tr bgcolor="#99CCCC"> 
<td bgcolor="#66CC99">辽宁-沈阳</td> 
</tr> 
<tr bgcolor="#99CCCC"> 
<td bgcolor="#66CC99">黑龙江-哈尔滨</td> 
</tr> 
<tr bgcolor="#99CCCC"> 
<td colspan="5">演示javascrīpt对表格copy的处理过程(推荐) </td> 
</tr> 
<tr bgcolor="#99CCCC"> 
<td colspan="5"><label> 
<div align="center"> 
<input name="textfield" type="text" value="单行文本框控件" size="30"/> 
</div> 
</label></td> 
</tr> 
</table> 
<br> 
<input type="submit" name="Submit3" value="点击复制表格到Excel中" onclick= "CellToTable('tableToExcel')" /> 
</body> 
</html>
Javascript 相关文章推荐
Microsoft Ajax Minifier 压缩javascript的方法
Mar 05 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
Nov 15 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
微信小程序switch组件使用详解
Jan 31 Javascript
javascript实现简单打字游戏
Oct 29 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
vscode自定义vue模板的实现
Jan 27 Vue.js
javascript:window.open弹出窗口的位置问题
Mar 18 #Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 #Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 #Javascript
JS判断字符串长度的5个方法(区分中文和英文)
Mar 18 #Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 #Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 #Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 #Javascript
You might like
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
javascript 动态添加表格行
2006/06/22 Javascript
一个加载js文件的小脚本
2007/06/28 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
python复制文件的方法实例详解
2015/05/22 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python查询mysql,返回json的实例
2018/03/26 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
python Tkinter版学生管理系统
2019/02/20 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
python语言的优势是什么
2020/06/17 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
国贸专业的职业规划范文
2014/01/23 职场文书
音乐器材管理制度
2014/01/31 职场文书
股东合作协议书
2014/04/14 职场文书
锦旗标语大全
2014/06/23 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
Python与C++中梯度方向直方图的实现
2022/03/17 Python
volatile保证可见性及重排序方法
2022/08/05 Java/Android