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的滑动样例代码
Nov 20 Javascript
Javascript简单实现可拖动的div
Oct 22 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
Windows安装Node.js报错:2503、2502的解决方法
Oct 25 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
2种在vue项目中使用百度地图的简单方法
Sep 28 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
原生js实现的观察者和订阅者模式简单示例
Apr 18 Javascript
idea编译器vue缩进报错问题场景分析
Jul 04 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
无线电广播的开始
2002/01/30 无线电
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
PHP实现简单的计算器
2020/08/28 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
js获取当前select 元素值的代码
2010/04/19 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
js单词形式的运算符
2014/05/06 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
python 输出上个月的月末日期实例
2018/04/11 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
python实现井字棋小游戏
2020/03/04 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
计算机专业学生求职信分享
2013/12/15 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
python实现简单石头剪刀布游戏
2021/10/24 Python