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ページは、このように使用するためのものではありません。

サーブレットまたはJAX-RSWebサービスの方が適しています。Excelシートを生成し、それをクライアントへの応答である出力ストリームに「保存」することができます。返品時にコンテンツタイプを忘れないでください。

于 2012-03-22T06:29:52.950 に答える