1

我有一个 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 上的所有数据(包括 geaders、footers 等)导出到 .xls 文件。但我不希望这种情况发生。我只对将 JSP 中的表放入 .xls 文件感兴趣。关于如何实现这一目标的任何想法?

4

1 回答 1

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 块中的标题或其他任何内容仅在不导出到 excel 时才会呈现。

但实际上,我建议使用Apache POI Excel或 Andy Khan 的JExcel API构建一个实际的 excel 文档

(从有关该主题的 BalusC 答案中窃取的建议。任何错误或错误代码都是我的。)

于 2014-03-04T21:57:38.253 回答