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

JSP
GET 方式提交的含有特殊字符的参数
java big5到gb2312的编码转换
java Lucene 中自定义排序的实现
hibernate中的增删改查实现代码
jsp 定制标签(Custom Tag)
jsp基础速成精华讲解
IE cache缓存 所带来的问题收藏
关于JSP的一点疑问小结
JSP 多条SQL语句同时执行的方法
jsp include文件时的一个乱码解决方法
在JSTL EL中处理java.util.Map,及嵌套List的情况
jsp 页面显示的一些用法
根据Hibernte的cfg文件生成sql文件
五种 JSP页面跳转方法详解
JSP 防范SQL注入攻击分析
JSP 连接MySQL配置与使用
java eclipse 启动参数
jsp 页面上图片分行输出小技巧
解决jsp开发中不支持EL问题
JSP 页面中使用FCKeditor控件(js用法)

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


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