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实现瀑布流效果(循环渐近)
Jan 27 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
Oct 14 Javascript
BootStrap fileinput.js文件上传组件实例代码
Feb 20 Javascript
canvas绘制环形进度条
Feb 23 Javascript
JS实现列表页面隔行变色效果
Mar 25 Javascript
vue项目中使用vue-i18n报错的解决方法
Jan 13 Javascript
vue结合element-ui使用示例
Jan 24 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
Mar 05 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
微信小程序实现下拉框功能
Jul 16 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
PHP Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
使用js写的一个简易的投票
2013/11/27 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python闭包思想与用法浅析
2018/12/27 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
Ajax的工作原理
2015/12/04 面试题
在校大学生的职业生涯规划书
2014/03/14 职场文书
希特勒的演讲稿
2014/05/23 职场文书
会计求职自荐信
2015/03/26 职场文书
员工试用期工作总结
2019/06/20 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书