当前位置: 首页 > 图文教程 > 网络编程 > JSP > 结合JAVASCRIPT将HTML导入Excel形成简单Web报表

JSP
客户端界面中可视化的实现树形框架的设计
Win2000下JBoss开发环境配置
调试处理系统核心文件
Matrix java 大讲坛 之 可用性与人机界面
JMX调试----第三方工具使访问更加容易
用BSF如何在Java中嵌入javascript以及如何在javascript中
再次提醒\" 请不要做浮躁的人\"
从Coding Fan到真正的技术专家(cjsdn)
数据库BEAN:RESIN连接池
基于Java的Web服务器工作原理(一)
XDE中模式驱动的设计与开发(三)
页面流(Page flow)表单验证
高级页面流(Page flow):嵌套、异常处理和 Global.app
请不要做浮躁的人(ZT-必读)
解决日期选择问题,一劳永逸(使用Decorator模式实现日期选择组件)(二)
解决日期选择问题,一劳永逸(使用Decorator模式实现日期选择组件)(三)
解决日期选择问题,一劳永逸(使用Decorator模式实现日期选择组件)(四)
解决日期选择问题,一劳永逸(使用Decorator模式实现日期选择组件)(五)
EJB技术之旅(一)
MVC渐行渐进(二)

JSP 中的 结合JAVASCRIPT将HTML导入Excel形成简单Web报表


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 161 ::
收藏到网摘: n/a

结合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>