JS调用页面表格导出excel
2014-03-18 09:01
543 查看
使用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>
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>
相关文章推荐
- JS调用页面表格导出excel示例代码
- JS调用页面表格导出excel示例代码
- javascript调用activeXObject 导出页面表格数据到excel
- js导出页面表格数据到Excel
- JS将页面中表格,导出到Excel中(IE中)
- 从页面表格导出数据到Excel
- js导出表格到word及excel(ie only) 【转载】
- jsp页面表格数据导出到excel
- 导出html页面的表格到excel
- 简单的POI导出JSP页面表格数据到excel
- js 将table表格导出excel
- JavaScript将页面表格数据导出为Excel、CSV格式文件(结合JQuery EasyUI的grid )
- JS将表格导出excel
- JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
- html页面表格导出到excel总结
- [JS]WEB页面导出为EXCEL文档的方法--转
- js导出excel页面数据
- 利用js生成读取页面数据并导出为excel
- JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
- html页面表格导出到excel总结