データをどこから読み取っているのかが明確ではありません。データを読み取るには、InputStreamを作成する必要があります。
次に、最初に応答ヘッダーをに設定する必要があります
HttpServletResponse.setHeader("Content-Disposition", "attachment; filename=datafile.xls");
必要なファイル名を使用してください。
次に、mime-typeを設定します。
response.setContentType("application/vnd.ms-excel");
必要なmimeタイプを使用してください。
次に、応答オブジェクトを使用してその出力ストリームを取得する必要があります-
OutputStream outStream = response.getOutputStream();
今それに書いてください:
byte[] buf = new byte[4096];
int len = -1;
//Write the file contents to the servlet response
//Using a buffer of 4kb (configurable). This can be
//optimized based on web server and app server
//properties
while ((len = inStream.read(buf)) != -1) {
outStream.write(buf, 0, len);
}
outStream.flush();
outStream.close();