以下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();
}
%>
答案 0 :(得分:0)
我想这会创建excel表,但是代码中没有任何内容可以将其发送回浏览器。如果我没记错的话,你可以获得输出流的句柄并自己从JSP发送它,但这确实不是一个好的解决方案。 JSP页面不应该以这种方式使用。
servlet或JAX-RS Web服务将是更好的选择。您可以生成Excel工作表,然后将其“保存”到输出流,该输出流是返回客户端的响应。请务必注意返回时的内容类型。