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获取iframe里的值示例代码
Jun 24 Javascript
JavaScript实现的日期控件具体代码
Nov 18 Javascript
JavaScript 学习笔记之语句
Jan 14 Javascript
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
Nov 29 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
JavaScript 反射和属性赋值实例解析
Oct 28 Javascript
js利用iframe实现选项卡效果
Aug 09 Javascript
Vue filter 过滤器、以及在table中的使用介绍
Sep 07 Javascript
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
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为php增加openssl模块的方法
2011/06/14 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
prototype.js的Ajax对象
2006/09/23 Javascript
iframe 异步加载技术及性能分析
2011/07/19 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
Python yield 使用方法浅析
2017/05/20 Python
Python中函数参数调用方式分析
2018/08/09 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
个人自我鉴定总结
2014/03/25 职场文书
共产党员承诺书
2014/03/25 职场文书
婚前财产公证书
2014/04/10 职场文书
七一建党节演讲稿
2014/09/11 职场文书
小学生家长意见
2015/06/03 职场文书
JavaScript 原型与原型链详情
2021/11/02 Javascript
css弧边选项卡的项目实践
2023/05/07 HTML / CSS