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 年月日联动实现核心代码
Dec 21 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
Nov 04 Javascript
js substring从右边获取指定长度字符串(示例代码)
Dec 23 Javascript
通过遮罩层实现浮层DIV登录的js代码
Feb 07 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
基于jquery实现省市联动效果
Nov 23 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
canvas实现图像截取功能
Feb 06 Javascript
微信小程序 实现点击添加移除class
Jun 12 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
JS实现鼠标按下拖拽效果
Jul 23 Javascript
Vue自定义铃声提示音组件的实现
Jan 22 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
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
php实现数据库的增删改查
2017/02/26 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
动态加载js的几种方法
2006/10/23 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
django的model操作汇整详解
2019/07/26 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
pytorch 修改预训练model实例
2020/01/18 Python
python super函数使用方法详解
2020/02/14 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
计算机专业自我鉴定
2013/10/15 职场文书
红头文件任命书范本
2014/06/05 职场文书
公司委托书格式
2014/08/01 职场文书
博士给导师的自荐信
2015/03/06 职场文书
学校教学工作总结2015
2015/05/19 职场文书
2016年母亲节广告语
2016/01/28 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
pandas数值排序的实现实例
2021/07/25 Python