JS呼叫頁面表格匯出excel
阿新 • • 發佈:2019-02-01
使用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>