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脚本性能优化注意事项
Nov 18 Javascript
javascript replace()正则替换实现代码
Feb 26 Javascript
在vs2010中调试javascript代码方法
Feb 11 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
javascript遍历控件实例详细解析
Jan 10 Javascript
纯js写的分页表格数据为json串
Feb 18 Javascript
JavaScript“尽快失败”的原则实例详解
Oct 08 Javascript
webpack+vue.js快速入门教程
Oct 12 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
Apr 27 jQuery
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
在vue-cli创建的项目中使用sass操作
Aug 10 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
php解析xml方法实例详解
2015/05/12 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP 中常量的知识整理
2017/04/14 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Python如何快速实现分布式任务
2017/07/06 Python
Python reduce()函数的用法小结
2017/11/15 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python获取array中指定元素的示例
2019/11/26 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
Python库安装速度过慢解决方案
2020/07/14 Python
Python类成员继承重写的实现
2020/09/16 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
学生爱国演讲稿
2014/01/14 职场文书
司马光教学反思
2014/02/01 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
化工实习心得体会
2014/09/09 职场文书
小时代观后感
2015/06/10 职场文书