0

ここに私のコードスニペットがあります

  try{

    response.setHeader("Content-Disposition", "attachment;filename=someName.xls");
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet("new sheet");

    HSSFRow row = sheet.createRow((short)0);

    HSSFCell cell = row.createCell((short)0);
    cell.setCellValue(1);


    row.createCell((short)1).setCellValue(1.2);
    row.createCell((short)2).setCellValue("Rajesh Kumar ");
    row.createCell((short)3).setCellValue(true);

    FileOutputStream fileOut = new FileOutputStream("C:/Excels/workbook.xls");
    wb.write(fileOut);

    fileOut.close();  
    response.getOutputStream().flush();
    } catch ( Exception ex ) {
          ex.printStackTrace();
    }

上記のスニペットは、ハードディスクにファイルを正常に作成します。ただし、Excelシートを開くたびに空白になりますか?

理由は何ですか ?解決策は何ですか?

4

3 に答える 3

2

応答のストリームを直接使用してみましたか:

wb.write(response.getOutputStream());
response.getOutputStream().flush();
于 2014-07-21T09:03:23.543 に答える
-1

メソッドのドキュメントには、ストリームのフラッシュについては何も書かれていません。その前に使用flush()してください。fileOutclose()

于 2014-07-21T07:45:21.157 に答える