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

JSP
建立JSP操作以提高数据库访问的效率
实战 J2EE 开发购物网站 - 创建数据库
J2EE 开发购物网站 经验篇 - 建表
实战 J2EE 开发购物网站 二
Resin在Windows系统下的安装
JRun3.0配合IIS的安装全过程
JSP开发前菜鸟设置篇
关于IIS连接数和在线人数的详细说明
Windows下JSP开发环境的配置
win2000下jsp平台搭建的简单过程
IIS6 和Tomcat5 的整合
面向对象编程,我的思想(5)
Java编程中更新XML文档的常用方法
用Java实现HTTP文件队列下载
jsp读取大对象CLOB并生成xml文件示例
jsp计数器制作手册
提升JSP应用程序的七大绝招
Java数据对象JDO 2.0查询语言的特点
在jsp程序中使用com组件
随机生成文件名的函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 209 ::
收藏到网摘: 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>