0
嗨我一直在努力編寫代碼,以便我可以生成一個Excel工作表,並在用戶點擊下載按鈕時下載它....我成功地生成了Excel工作表但我已經嘗試下載相同,但我一直不成功。無法使用JSF下載excel文件
我已經使用的方法是:
public void download() throws IOException {
File file = new File("D:\\pdf\\carrierReport7.xls");
FacesContext facesContext = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
response.setHeader("Content-Disposition", "attachment;filename=" + file.getName());
response.setHeader("Content-Type", "application/vnd.ms-excel");
OutputStream outputStream = response.getOutputStream();
FileInputStream fileInputStream = new FileInputStream(file);
byte[] bytesBuffer = new byte[2048];
int bytesRead = 0;
while ((bytesRead = fileInputStream.read(bytesBuffer)) > 0) {
outputStream.write(bytesBuffer, 0, bytesRead);
}
outputStream.flush();
fileInputStream.close();
outputStream.close();
facesContext.responseComplete();
}
JSF命令:
您是否看到錯誤/異常?當你嘗試這些功能時,是否真的會下載到你的瀏覽器? –
嘗試在stackoverflow中找到其中一個重複項,並檢查它們的哪一部分可以幫助您。而尼古拉斯史密斯是對的......你可以也應該提供更多的信息。 – Kukeltje
沒有錯誤。它只是處理請求而沒有響應。也沒有什麼是下載。我嘗試了不同的代碼已經在stackoverflow給出,但仍然面臨同樣的問題。我是否需要在web.xml或瀏覽器設置中進行任何更改 –