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

JSP
Java 创建cookie和删除cookie
jsp 从web.xml读取连接数据库的参数
jsp 不支持EL表达式,解决办法
jsp 获取客户端的浏览器和操作系统信息
struts2 session 解读
struts2 spring整合fieldError问题
jsp 生成验证码代码
搭建java WEB开发环境和应用
JSP 自定义标签
Java 区分文本中的中英文字符函数
通用JSP页面 jsp入门级文章
jsp struts1 标签实例详解
一个jdbc 测试程序代码
SSH整合中 hibernate托管给Spring得到SessionFactory
jsp SmartUpload 实现上传功能代码
jsp Unsupported encoding: gb2312 错误原因
java Struts2 在拦截器里的跳转问题
jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
Java 项目生成静态页面的代码
jdk与jre的区别 很形象,很清晰,通俗易懂

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


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