Home  >  Article  >  Web Front-end  >  Example code for exporting Excel from HTML

Example code for exporting Excel from HTML

高洛峰
高洛峰Original
2017-03-24 11:50:282093browse

This article explains in detail the example code of HTML exporting to 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=&#39;tab1&#39;>
		<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 &#39;ie&#39;;  
            }  
            //firefox  
            else if (explorer.indexOf("Firefox") >= 0) {  
                return &#39;Firefox&#39;;  
            }  
            //Chrome  
            else if(explorer.indexOf("Chrome") >= 0){  
                return &#39;Chrome&#39;;  
            }  
            //Opera  
            else if(explorer.indexOf("Opera") >= 0){  
                return &#39;Opera&#39;;  
            }  
            //Safari  
            else if(explorer.indexOf("Safari") >= 0){  
                return &#39;Safari&#39;;  
            }  
        }  
        function method5(tableid) {  
            if(getExplorer()==&#39;ie&#39;)  
            {  
                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 = &#39;data:application/vnd.ms-excel;base64,&#39;,  
                    template = &#39;<html><head><meta charset="UTF-8"></head><body><table>{table}</table></body></html>&#39;,  
                    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 || &#39;Worksheet&#39;, table: table.innerHTML}  
                window.location.href = uri + base64(format(template, ctx))  
            }  
        })()  


		window.onload=function(){
			tableToExcel("tab1");
		}
	</script>

The above is the detailed content of Example code for exporting Excel from HTML. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn