jexcel не работает - PullRequest
       5

jexcel не работает

0 голосов
/ 22 марта 2012

следующий код 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 голосов
/ 22 марта 2012

Полагаю, это создаст лист Excel, но в вашем коде нет ничего, что могло бы отправить его обратно в браузер. Если я правильно помню, вы можете получить указатель на выходной поток и отправить его самостоятельно из JSP, но это действительно не очень хорошее решение. Страницы JSP не должны были использоваться таким образом.

Лучше выбрать сервлет или веб-сервис JAX-RS. Вы можете создать лист Excel и затем «сохранить» его в выходном потоке, который является ответом клиенту. Не забудьте указать тип содержимого при возврате.

...