JS調(diào)用頁(yè)面表格導(dǎo)出excel示例代碼
更新時(shí)間:2014年03月18日 10:55:52 作者:
這篇文章主要介紹了JS調(diào)用頁(yè)面表格導(dǎo)出excel的具體實(shí)現(xiàn),需要的朋友可以參考下
使用JS方法調(diào)用頁(yè)面表格導(dǎo)出excel有很大的限制:
1、目前試了幾個(gè)瀏覽器,只有IE支持,
2、點(diǎn)擊 工具---安全---自定義級(jí)別---ActiveX 相關(guān)選項(xiàng)啟用
下面是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 = "";
// 函數(shù)功能:復(fù)制表格到Excel中
// 參 數(shù):tableID 表的id
function CellToTable(tableID)
{
var tid=document.getElementById(tableID);
// 加載ActiveX控件,獲取Excel句柄
var exApp = new ActiveXObject("Excel.Application");
// 創(chuàng)建一個(gè)Excel文件
var owb = exApp.WorkBooks.add();
// 獲取sheet1句柄CA
var exSheet = exApp.ActiveWorkBook.WorkSheets(1);
// 設(shè)置sheet1的名稱
exSheet.name="演示復(fù)制表格到Excel中";
// copy指定的表格
var sel=document.body.createTextRange();
sel.moveToElementText(tid);
sel.select();
sel.execCommand("Copy");
exSheet.Paste();// 粘貼到sheet中
//exApp.save();// 彈出保存對(duì)話框,保存Excel文件
exApp.Visible = false;
var fname = exApp.Application.GetSaveAsFilename("save.xls", "Excel Spreadsheets (*.xls), *.xls");
owb.SaveAs(fname);
exApp.Quit();// 退出Excel實(shí)例
exApp = null;
// 調(diào)用Cleanup()進(jìn)行垃圾回收
idTmr = window.setInterval("Cleanup();",10);
}
// 函數(shù)功能:殺掉Excel進(jìn)程
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">吉林的長(zhǎng)春</td>
<td width="67" rowspan="4" bgcolor="#33FF99">遼寧的沈陽(yáng)</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">吉林-長(zhǎng)春</td>
</tr>
<tr bgcolor="#99CCCC">
<td bgcolor="#66CC99">遼寧-沈陽(yáng)</td>
</tr>
<tr bgcolor="#99CCCC">
<td bgcolor="#66CC99">黑龍江-哈爾濱</td>
</tr>
<tr bgcolor="#99CCCC">
<td colspan="5">演示javascrīpt對(duì)表格copy的處理過(guò)程(推薦) </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="點(diǎn)擊復(fù)制表格到Excel中" onclick= "CellToTable('tableToExcel')" />
</body>
</html>
1、目前試了幾個(gè)瀏覽器,只有IE支持,
2、點(diǎn)擊 工具---安全---自定義級(jí)別---ActiveX 相關(guān)選項(xiàng)啟用
下面是html代碼
復(fù)制代碼 代碼如下:
<%@ 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 = "";
// 函數(shù)功能:復(fù)制表格到Excel中
// 參 數(shù):tableID 表的id
function CellToTable(tableID)
{
var tid=document.getElementById(tableID);
// 加載ActiveX控件,獲取Excel句柄
var exApp = new ActiveXObject("Excel.Application");
// 創(chuàng)建一個(gè)Excel文件
var owb = exApp.WorkBooks.add();
// 獲取sheet1句柄CA
var exSheet = exApp.ActiveWorkBook.WorkSheets(1);
// 設(shè)置sheet1的名稱
exSheet.name="演示復(fù)制表格到Excel中";
// copy指定的表格
var sel=document.body.createTextRange();
sel.moveToElementText(tid);
sel.select();
sel.execCommand("Copy");
exSheet.Paste();// 粘貼到sheet中
//exApp.save();// 彈出保存對(duì)話框,保存Excel文件
exApp.Visible = false;
var fname = exApp.Application.GetSaveAsFilename("save.xls", "Excel Spreadsheets (*.xls), *.xls");
owb.SaveAs(fname);
exApp.Quit();// 退出Excel實(shí)例
exApp = null;
// 調(diào)用Cleanup()進(jìn)行垃圾回收
idTmr = window.setInterval("Cleanup();",10);
}
// 函數(shù)功能:殺掉Excel進(jìn)程
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">吉林的長(zhǎng)春</td>
<td width="67" rowspan="4" bgcolor="#33FF99">遼寧的沈陽(yáng)</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">吉林-長(zhǎng)春</td>
</tr>
<tr bgcolor="#99CCCC">
<td bgcolor="#66CC99">遼寧-沈陽(yáng)</td>
</tr>
<tr bgcolor="#99CCCC">
<td bgcolor="#66CC99">黑龍江-哈爾濱</td>
</tr>
<tr bgcolor="#99CCCC">
<td colspan="5">演示javascrīpt對(duì)表格copy的處理過(guò)程(推薦) </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="點(diǎn)擊復(fù)制表格到Excel中" onclick= "CellToTable('tableToExcel')" />
</body>
</html>
相關(guān)文章
js實(shí)現(xiàn)的修改div里img標(biāo)簽的src屬性
js實(shí)現(xiàn)的修改div里img標(biāo)簽的src屬性...2007-09-09Javascript基于對(duì)象三大特性(封裝性、繼承性、多態(tài)性)
這篇文章主要介紹了Javascript基于對(duì)象三大特性,包括封裝性、繼承性、多態(tài)性,感興趣的小伙伴們可以參考一下2016-01-01JavaScript實(shí)現(xiàn)簡(jiǎn)單的樹(shù)形菜單效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單的樹(shù)形菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06arguments對(duì)象驗(yàn)證函數(shù)的參數(shù)是否合法
Javascript函數(shù)中的參數(shù)對(duì)象arguments是個(gè)對(duì)象,而不是數(shù)組。但它可以類似數(shù)組那樣通過(guò)數(shù)字下表訪問(wèn)其中的元素,而且它也有l(wèi)ength屬性標(biāo)識(shí)它的元素的個(gè)數(shù)。2015-06-06JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法
這篇文章主要介紹了JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法,因?yàn)槲覀冃枰刂埔幌麻L(zhǎng)度,需要的朋友可以參考下2016-01-01