- PR -

動的Excelファイルのダウンロードについて

1
投稿者投稿内容
もも
会議室デビュー日: 2007/08/30
投稿数: 2
投稿日時: 2007-08-30 11:37
はじめまして。
現在JAVAを勉強しています。

サーブレットでExcelファイルを作成しダウンロードするプログラムを作っているのですが、
ダウンロードダイアログが表示されません。

色々調べてサンプルを発見し、同じように真似てみただけなのですが・・・
どこが悪いのかご教授お願いします。

OS:Windows2000
Tomcat:4.1.31
JAVA:JDK1.3.1

以下はサーブレットファイルです。JSPファイルから呼んでいます。
public class XLSExport extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {

HttpSession session = request.getSession(true);

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
wb.setSheetName(0, "ダウンロード");

//文字列の書き込み
String test = "てすと";
HSSFRow row = sheet.createRow((short)0);
HSSFCell cell = row.createCell((short)7);
cell.setCellValue(new HSSFRichTextString(test));

//送信
response.setHeader("Content-Disposition", "attachment;filename=download.xls");
response.setContentType("application/vnd.ms-excel");
wb.write(response.getOutputStream());

// 画面遷移
response.sendRedirect(response.encodeURL(URLを指定));
}
}
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-08-30 12:00
引用:

ももさんの書き込み (2007-08-30 11:37) より:
OS:Windows2000
Tomcat:4.1.31
JAVA:JDK1.3.1


 勉強段階ならそんな古いのでやらない方が良いですよ。

引用:

ももさんの書き込み (2007-08-30 11:37) より:
// 画面遷移
response.sendRedirect(response.encodeURL(URLを指定));


 これのせいでは?
プレミアム
会議室デビュー日: 2007/08/15
投稿数: 9
投稿日時: 2007-08-30 12:13
POI全然わかりませんが、

引用:

ももさんの書き込み (2007-08-30 11:37) より:
//送信
response.setHeader("Content-Disposition", "attachment;filename=download.xls");



"attachment;filename=download.xls"
の部分が、
"attachment;filename=¥"download.xls¥""

だったりしないかしら?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-08-30 12:30
そもそもの問題はsendRedirectしているところですね。
もも
会議室デビュー日: 2007/08/30
投稿数: 2
投稿日時: 2007-08-30 13:16
返信ありがとうございます。

ご指摘の通り、sendRedirect をはずして見たら思うように出来ました!
考えてみれば、ダウンロードするのに画面遷移は必要ありませんですね・・・


一通り勉強したら環境もアップグレード(?)していこうと思います。
1

スキルアップ/キャリアアップ(JOB@IT)