2013-03-06 30 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被盜建議。任何錯誤或惡意代碼是我的。)

相關問題