2013-03-06 83 views
1

我有一个JSP页面,我在某些表中有一些数据。我希望在页面上单击链接时将JSP中的所有表导出到excel文件。即时通讯目前使用下面的代码来实现这一目标:如何将JSP页面的一部分导出到Excel工作表

<a href="Result.jsp?exportToExcel=YES">Export to Excel</a> 


String exportToExcel = request.getParameter("exportToExcel"); 
    if (exportToExcel != null 
      && exportToExcel.toString().equalsIgnoreCase("YES")) { 

     response.setContentType("application/vnd.ms-excel"); 
     response.setHeader("Content-Disposition", "inline; filename=" 
       + "report.xls"); 
     } 
    } 

问题IM面是,这种代码出口在JSP中的所有数据(包括geaders,页脚等),以.xls文件。但我不希望发生这种情况。我只想将JSP中的表格放入.xls文件中。关于我如何实现这一目标的任何想法?

回答

0

如果没有jsp代码,就不可能知道代码的结构。但是,有几种方法可以做到这一点。最简单的一种方法是将if语句放在jsp中,如下所示: 首先,确保包含tld。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

接下来,围绕页眉和页脚以及其他任何地方,插入if语句。

<c:if test="${empty requestScope.exportToExcel || !requestScope.exportToExcel.contains('YES') }"> 
    <%@ include file="header.jsp" %> 
</c:if> 

这样,if块中的头或其他内容只在不导出为ex​​cel时才呈现。

不过说真的,我建议建立一个实际的Excel文档与Apache POI Excel或安迪·汗的JExcel API

(从BalusC answer on the subject被盗建议。任何错误或恶意代码是我的。)

相关问题