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 22 Javascript
JavaScript CSS菜单功能 改进版
Dec 20 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
Jun 05 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
JS日期格式化之javascript Date format
Oct 01 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
Mar 11 Javascript
angularjs的select使用及默认选中设置
Apr 08 Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 Javascript
Vue动态生成表格的行和列
Jul 18 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
详解如何使用React Hooks请求数据并渲染
Oct 18 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动态图像的创建
2006/10/09 PHP
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
php创建sprite
2014/02/11 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
安装python及pycharm的教程图解
2019/10/10 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
python 读取.nii格式图像实例
2020/07/01 Python
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
Jar包的作用是什么
2014/03/30 面试题
社团招新策划书
2014/02/04 职场文书
降消项目实施方案
2014/03/30 职场文书
《荷花》教学反思
2014/04/16 职场文书
环保倡议书300字
2014/05/15 职场文书
三好生演讲稿
2014/09/12 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
2014年教研室工作总结
2014/12/06 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书