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

JSP
在Jsp Servlet中页面重新定向总汇
JSP 点击链接后下载文件(相当于右键另存)功能
Java 通过设置Referer反盗链
JSP XMLHttpRequest动态无刷新及其中文乱码处理
java session出现的错误
JSP 自定义标签之一 简单实例
JSP Servelet 数据源连接池的配置
jsp web.xml文件的作用及基本配置
java tapestry5 布局 参数的处理
JSP 传递中文参数的例子
通过Setters方式对日期属性及日期格式进行IOC注入
J2EE基础--为什么jsp不能取代servlet?
解析JSP中标签库
JSP三种页面跳转方式的比较
提升JSP应用程序的几个技巧
JSP进行数据库连接的实例
JSP实例程序:统计当前在线人数
EJB初学者怎样面对经常有的十一个疑惑
高手为你解读J2EE开发过程中的异常处理
JSP环境配置:TOMCAT的内存和连接数配置详解

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


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