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 相关文章推荐
select组合框option的捕捉实例代码
Sep 30 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
Aug 09 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
JavaScript中this详解
Sep 01 Javascript
jQuery EasyUI中DataGird动态生成列的方法
Apr 05 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
Sep 05 Javascript
js实现功能比较全面的全选和多选
Mar 02 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
图片文字识别(OCR)插件Ocrad.js教程
Nov 26 Javascript
swiper Scrollbar滚动条组件详解
Sep 08 Javascript
原生js+ajax分页组件
Jan 30 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
一个简单的域名注册情况查询程序
2006/10/09 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
php打造属于自己的MVC框架
2012/03/07 PHP
php生成随机颜色的方法
2014/11/13 PHP
9个比较实用的php代码片段
2016/03/15 PHP
初识PHP中的Swoole
2016/04/05 PHP
Smarty保留变量用法分析
2016/05/23 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
python实现简单学生信息管理系统
2020/04/09 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
园林设计专业毕业生求职信
2014/03/23 职场文书
简述Java中throw-throws异常抛出
2021/08/07 Java/Android