【JavaScript】结合JAVASCRIPT将HTML导入Excel形成简单Web报表

本文介绍了一种利用JavaScript将HTML表格数据导出为Excel文件的方法。通过几个关键步骤,包括创建导出按钮、中转页面及最终生成Excel页面,实现了从网页表格到Excel文件的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结合JAVASCRIPT将HTML导入Excel形成简单Web报表,做法是把HTML中的table整个导入到Excel中,提示下载或者打开。Javascript代码:
/****************************************************
add by liqingfeng,
生成导出按钮,专门供查询配置统计页面使用,
即页面没有ifram的情况
2005-4-29
******************************************************
*/

function getExcelExportButton(inTblId, btnWidth, root, formname) {
        
var strHtml = "";
        
var width=90;
        
if (btnWidth!=null)width=btnWidth;
        
//var tblWin = (!!inWindow ? inWindow : "");
        //strHtml += "<form name ='xlsForm'>";
        strHtml += "<input name="tablevalue" type="hidden" value="">";
        
if(!document.all("xlsFrm")) {
        strHtml 
+= "<iframe name="xlsFrm" width="0" height="0"></iframe>";
        }


        strHtml 
+= "<table border="1" align='center' cellspacing="0" cellpadding="0" width=""+width+"">";
        strHtml 
+= "  <tr class="tableButton"
            onClick=
"javascript:getXlsFromJsp('" + inTblId + "','" + root + "','" + formname +"')" "
        
+ "onMouseOver="buttonOver(this)" onMouseOut="buttonOut(this)">";
        strHtml 
+= "    <td nowrap>导出</td>";
        strHtml 
+= "  </tr>";
        strHtml 
+= "</table>";
        
//strHtml += "</form>";
        document.writeln(strHtml);
        
//getGlobeHideFrame();
}


/************************************************
add by liqingfeng,
专门供查询配置统计页面使用,
即页面没有ifram的情况
2005-4-29
********************************************************
*/

        
function getXlsFromJsp(id, root, formname){
                        
//var tblDocument = eval(frmName).document;
                        var tblFromname = document.all(formname);
                        
var curTbl = document.all(id);
                        
var tableValue = curTbl.innerHTML ;
                        tblFromname.tablevalue.value 
= tableValue;
                        
//alert(""+curTbl.innerHTML );
                        window.open( root + "/excel_transfer.jsp?formname=" +
                           formname,
"def","Height = max ,Width = max");
        }




测试的HTML:

<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<head><title>Test</title></head>
<body>
<form name = “form1”>
<TABLE borderColor=#111111 cellSpacing=0 cellPadding=2 width=1200 align=center border=1>
  
<TR>
    
<TD align=middle width="10%" height=20 rowSpan=2>项目 </TD>
    
<TD align=middle width="2%" height=20 rowSpan=2>计量单位 </TD>
    
<TD align=middle width="4%" height=20>满期赔付率 </TD>
  
</TR>
</TABLE>
<script>getExcelExportButton2('collate''frmInfoList','90','/root','form1')</script>
</form>
</body>
</HTML>

点击导出按钮,页面转入excel_transfer.jsp 进行中转处理

excel_transfer.jsp:
<%@ page contentType="text/html; charset=gb2312" %>
<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head><title>excel transfer</title></head>
<body>
<!--
/********************************************
  中转页面,由这个页面跳转到最终生成Excel页面
  jsp name: excel_transfer.jsp
   Author : LiQingfeng
  Date : 2005-4-29
********************************************/
-->
<!--
<script language="JavaScript">
document.write(opener.form1.tablevalue.value);
</script>
-->
<form name = "form2" method = "post" action = "excel_create.jsp">
<input name="tablevalue2" type="hidden" value="">
          
<script language="JavaScript">
            
var forname = "<%=request.getParameter("formname")%>";
                form2.tablevalue2.value 
= opener.document.all(forname).tablevalue.value;
                form2.submit();
        
</script>
</body>
</HTML>

excel_create.jsp:



<%@ page contentType="text/html; charset=gb2312" %>
<%response.setContentType("application/vnd.ms-excel;charset=gb2312"); %>
<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head><title>create excel</title></head>
<body>
<!--
/********************************************
  最终生成Excel页面,导出成Excel
  jsp name: excel_transfer.jsp
   Author : LiQingfeng
  Date : 2005-4-29
********************************************/
-->
<!--
<script language="JavaScript">
document.write(opener.form1.tablevalue.value);
</script>
-->
<TABLE borderColor=#111111 cellSpacing=0 cellPadding=2 width=1200 align=center border=1>
  
<%=request.getParameter("tablevalue2")%>
</TABLE>

</body>
</HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值