ホームページ > 記事 > ウェブフロントエンド > HTML から Excel をエクスポートするサンプル コード
この記事ではHTMLをExcelにエクスポートするサンプルコードを詳しく解説しています
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <title>装修摊销报表</title> <meta http-equiv=Content-Type content="text/html; charset=gb2312"> <meta name=ProgId content=Excel.Sheet> <meta name=Generator content="Microsoft Excel 11"> <style> .td_head{ text-align:center; font-size:13pt; font-weight:800; font-family:宋体; border:0.03cm; background-color:silver; } .td_entry{ text-align:left; font-size:10pt; font-weight:200; font-family:宋体; border:thin; } .td_fraction{ text-align:right; font-size:10pt; font-weight:200; font-family:宋体; border:thin; mso-number-format:"0.00"; } </style> <table border=1 id='tab1'> <tr> <td class="td_head" style="background-color:red;" >序号</td> <td class="td_head" >机构名称</td> <td class="td_head" >物业类型</td> <td class="td_head" >物业名称</td> <td class="td_head" >职场名称</td> <td class="td_head" >合同编号</td> <td class="td_head" >装修类型</td> <td class="td_head" >合同金额</td> <td class="td_head" >结算金额</td> <td class="td_head" >租赁期</td> <td class="td_head" >受益期</td> <td class="td_head" >结算日</td> <td class="td_head" >摊销期(月)</td> <td class="td_head" >装修费总额<br>(A)</td> <td class="td_head" >累计摊销金额<br>(B)</td> <td class="td_head" >剩余摊销金额<br>(C=A-B)</td> <td class="td_head" >本月摊销额<br>(D)</td> <td class="td_head" >装修费总额<br>(财务结转后)<br>(E)</td> <td class="td_head" >累计摊销金额<br>(财务结转后)<br>(F)</td> <td class="td_head" >剩余摊销金额<br>(财务结转后)<br>(G=E-F)</td> <td class="td_head" >本年累计摊销金额<br>(H)</td> </tr> <tr> <td class="td_entry" colspan="2">小计</td> <td class="td_entry" > 德城物业 </td> <td class="td_entry" > 德城物业</td> <td class="td_entry" > 德城物业</td> <td class="td_entry" >LC010023130515</td> <td class="td_entry" >1</td> <td class="td_fraction" >6000<fmt:formatNumber value="${totalPactMoney}" pattern="##0.00" /></td> <td class="td_fraction" >8000<fmt:formatNumber value="${totalFootMoney}" pattern="##0.00" /></td> <td class="td_entry" >2015-6-9</td> <td class="td_entry" >2015-6-6</td> <td class="td_entry" >201506</td> <td class="td_entry" >201507</td> <td class="td_fraction" >88888<fmt:formatNumber value="${totalMoney}" pattern="##0.00" /></td> <td class="td_fraction" >6052<fmt:formatNumber value="${totalAmortizedMoney}" pattern="##0.00" /></td> <td class="td_fraction" >5555<fmt:formatNumber value="${totalRemainingAmortizedMoney}" pattern="##0.00" /></td> <td class="td_fraction" >62<fmt:formatNumber value="${totalQueryMonthMoney}" pattern="##0.00" /></td> <td class="td_fraction" >55<fmt:formatNumber value="${totalMoneyEnd}" pattern="##0.00" /></td> <td class="td_fraction" >55<fmt:formatNumber value="${totalAmortizedMoneyEnd}" pattern="##0.00" /></td> <td class="td_fraction" >112<fmt:formatNumber value="${totalRemainingAmortizedMoneyEnd}" pattern="##0.00" /></td> <td class="td_fraction" >2015<fmt:formatNumber value="${totalyearAmortizatedMoneyEnd}" pattern="##0.00" /></td> </tr> </table> <script type="text/javascript"> //第五种方法 var idTmr; function getExplorer() { var explorer = window.navigator.userAgent ; //ie if (explorer.indexOf("MSIE") >= 0) { return 'ie'; } //firefox else if (explorer.indexOf("Firefox") >= 0) { return 'Firefox'; } //Chrome else if(explorer.indexOf("Chrome") >= 0){ return 'Chrome'; } //Opera else if(explorer.indexOf("Opera") >= 0){ return 'Opera'; } //Safari else if(explorer.indexOf("Safari") >= 0){ return 'Safari'; } } function method5(tableid) { if(getExplorer()=='ie') { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var xlsheet = oWB.Worksheets(1); var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); xlsheet.Paste(); oXL.Visible = true; try { var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls"); } catch (e) { print("Nested catch caught " + e); } finally { oWB.SaveAs(fname); oWB.Close(savechanges = false); oXL.Quit(); oXL = null; idTmr = window.setInterval("Cleanup();", 1); } } else { tableToExcel(tableid) } } function Cleanup() { window.clearInterval(idTmr); CollectGarbage(); } var tableToExcel = (function() { var uri = 'data:application/vnd.ms-excel;base64,', template = '<html><head><meta charset="UTF-8"></head><body><table>{table}</table></body></html>', base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }, format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML} window.location.href = uri + base64(format(template, ctx)) } })() window.onload=function(){ tableToExcel("tab1"); } </script>
以上がHTML から Excel をエクスポートするサンプル コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。