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 相关文章推荐
JS实现浏览器菜单命令
Sep 05 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
Nov 18 Javascript
jquery验证表单中的单选与多选实例
Aug 18 Javascript
JS两种定义方式的区别、内部原理
Nov 21 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
Apr 10 Javascript
JavaScript 性能优化小结
Oct 12 Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 Javascript
Node.js中用D3.js的方法示例
Jan 16 Javascript
原生js实现中奖信息无间隙滚动效果
Jan 18 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
python getopt模块使用实例解析
2019/12/18 Python
python利用platform模块获取系统信息
2020/10/09 Python
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
服装促销活动方案
2014/02/23 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
催款函范本大全
2015/06/24 职场文书
分享python函数常见关键字
2022/04/26 Python