2012-03-22 7 views
0

次のjspコードではExcelファイルが生成されません。助けてください。または誰かがjsp/javascriptから表データをExcelシートにエクスポートする別の方法を教えてもらえますか?jexcelが動作しない

<%@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

これは、Excelシートを作成すると思われますが、ブラウザに戻すコードはありません。正しくリコールすれば、出力ストリームのハンドルを取得してJSPから直接送信することができますが、それは本当に良い解決策ではありません。 JSPページはこのように使用されることは意図されていませんでした。

サーブレットまたはJAX-RS Webサービスが最適です。 Excelシートを生成し、それをクライアントに返される出力ストリームに「保存」することができます。あなたのContent-Typeが返品に気をつけてください。