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 相关文章推荐
图片按比例缩放函数
Jun 26 Javascript
跨域表单提交状态的变相判断代码
Nov 12 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
May 28 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
简单实现轮播图效果的实例
Jul 15 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
bootstrap tooltips在 angularJS中的使用方法
Apr 10 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
超轻量级的js时间库miment使用解析
Aug 02 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 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
第五节--克隆
2006/11/16 PHP
简单实现php上传文件功能
2017/09/21 PHP
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
Python使用turtule画五角星的方法
2015/07/09 Python
详解python时间模块中的datetime模块
2016/01/13 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
python匿名函数的使用方法解析
2019/10/10 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python定义一个Actor任务
2020/07/29 Python
python openCV自制绘画板
2020/10/27 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
大专生自我鉴定范文
2013/10/01 职场文书
高考自主招生自荐信
2013/10/20 职场文书
工艺员岗位职责
2014/02/11 职场文书
说明书范文
2014/05/07 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫