0

以下 jsp 代码未生成任何 excel 文件。请帮忙。或者有人可以告诉我将表格数据从 jsp/javascript 导出到 excel 表的其他方法吗?

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.util.*"%>
<%@page language="java" import="java.sql.*"%>
<%@page language="java" import="pack.DbBean"%>
<%@ page import="java.io.*"  %>
<%@ page import="jxl.*"  %>
<%@ page import="jxl.write.*"  %>

<%@ page import="jxl.Workbook"  %>
<%@ page import="jxl.write.Label"  %>
<%@ page import="jxl.write.WritableSheet"  %>
<%@ page import="jxl.write.WritableWorkbook"  %>



<jsp:useBean id="db" class="pack.DbBean" scope="session"/>

<%
try{
WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls"));
WritableSheet sheet = workbook.createSheet("First Sheet", 0);
Label label = new Label(0, 2, "A label record");
sheet.addCell(label);

jxl.write.Number number = new jxl.write.Number(3, 4, 3.1459);
sheet.addCell(number);

workbook.write();
workbook.close();
}
catch(Exception e)
      {
       throw new ServletException("Exception in Excel Sample Servlet", e);
      } finally
      {
       if (out != null)
        out.close();
      }
%>
4

1 回答 1

0

我想这会创建 excel 工作表,但是您的代码中没有任何内容可以将其发送回浏览器。如果我没记错的话,您可以获取输出流的句柄并自己从 JSP 发送,但这确实不是一个好的解决方案。JSP 页面不应该以这种方式使用。

servlet 或 JAX-RS Web 服务将是更好的选择。您可以生成 excel 工作表,然后将其“保存”到作为返回客户端的响应的输出流中。请务必在退货时注意您的 Content-Type。

于 2012-03-22T06:29:52.950 回答