1

以下のコードを使用して、出力ストリームに Excel ファイルを書き込みました。しかし、ダウンロードしたファイルをExcelで開くと、開くのに問題があります。

    HSSFWorkbook workbook = getWorkBook();
    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) FacesContext
            .getCurrentInstance().getExternalContext().getResponse();
    response.setHeader("Content-Disposition", "attachment;filename=someName.xls");
    response.setContentLength(workbook.getBytes().length);
    response.setContentType("application/vnd.ms-excel");
    try {
        workbook.write(response.getOutputStream());
        response.getOutputStream().close();
    } catch (Exception ex) {
        ex.printStackTrace();
    }

もちろん、結果をファイルに書きますが、それは正しかったです。

4

1 に答える 1

1

以下のコードを削除して、この問題を解決します。

response.setContentLength(workbook.getBytes().length);
于 2012-08-25T06:11:41.747 に答える