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 相关文章推荐
jquery ajaxSubmit 异步提交的简单实现
Feb 28 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
Oct 26 Javascript
javascript实现五星评分功能
Nov 10 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
vue+node+webpack环境搭建教程
Nov 05 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
Vue循环组件加validate多表单验证的实例
Sep 18 Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 Javascript
iView-admin 动态路由问题的解决方法
Oct 03 Javascript
vue实现简单的登录弹出框
Oct 26 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/20 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
python计算auc指标实例
2017/07/13 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
python中format函数如何使用
2020/06/22 Python
Python3读写ini配置文件的示例
2020/11/06 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
《长江之歌》教学反思
2014/04/17 职场文书
大学课外活动总结
2014/07/09 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
部队个人年终总结
2015/03/02 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
go 实现简易端口扫描的示例
2021/05/22 Golang
MySQL中varchar和char类型的区别
2021/11/17 MySQL
MySQL 原理与优化之Update 优化
2022/08/14 MySQL