如何将JSP页面的一部分导出到Excel工作表中

我有一个JSP页面,我有一些表中的数据。 我希望将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"); } } 

我所面临的问题是,这段代码将JSP上的所有数据(包括geader,footer等)导出到.xls文件中。 但我不希望这样的事情发生。 我只想将JSP中的表放入.xls文件中。 任何想法,我怎么能实现呢?

没有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时才被渲染。

但是真的,我会build议用Apache POI Excel或Andy Khan的JExcel API构build一个实际的Excel文档

(build议从这个问题上的BalusC答案中被盗,任何错误或错误的代码都是我的。)