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 相关文章推荐
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
Mar 22 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
javascript instanceof,typeof的区别
Mar 24 Javascript
js中有关IE版本检测
Jan 04 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
Oct 26 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 Javascript
一些实用性较高的js方法
Apr 19 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
Aug 23 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
Feb 06 Javascript
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
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
Nginx实现反向代理
2017/09/20 Servers
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
Django后台admin的使用详解
2019/07/08 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
减负增效提质方案
2014/05/23 职场文书
个人自荐材料
2014/05/23 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
养成教育工作总结
2015/08/13 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
JavaScript实现简单图片切换
2021/04/29 Javascript