jexcel不工作

时间:2012-03-22 06:22:56

标签: javascript jsp jxl

以下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();
      }
%>

1 个答案:

答案 0 :(得分:0)

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

servlet或JAX-RS Web服务将是更好的选择。您可以生成Excel工作表,然后将其“保存”到输出流,该输出流是返回客户端的响应。请务必注意返回时的内容类型。