jsp頁面下載文件


.將創建的excel文檔轉換成需要輸出的流:可以是文件流放在硬盤中,也可以是輸出流輸出到瀏覽器供下載。  ◆  文件流:FileOutputStream

1         FileOutputStream fos = new FileOutputStream("F://workbook.xls"); 2  workBook.write(fos); 3 fos.close();

  ◆  輸出流 :response.getOutputStream()

1    response.reset(); 2 response.setContentType("application/vnd.ms-excel;charset=gbk"); 3 response.setHeader("Content-Disposition", "attachment;filename=account.xls"); 4 OutputStream out = response.getOutputStream(); 5  workBook.write(out); 6 out.close(); 

  ◆ tip:

    *response.reset();清除首部的空白行
         * getResponse的getWriter()方法連續兩次輸出流到頁面的時候,第二次的流會包括第一次的流,
         * 所以可以使用response.reset或者resetBuffer的方法。
         * resetBuffer方法與reset方法的區別是,頭和狀態碼沒有清除。

         如果發現這樣設置后瀏覽器端並沒有彈出【文件另存為】選擇路徑窗口,請檢查下前面代碼是否出現:

  1.response.setContentType("text/html;charset=UTF-8");//設置編碼格式
      2.PrintWriter out = response.getWriter();導致無法確定輸出流

3、excel文件名為中文時亂碼或者出現未知文件類型錯誤時,考慮用URLEncoder對文件名進行轉碼

   

  

1         String name = java.net.URLEncoder.encode(fileName, "utf-8"); 2 response.setContentType("application/vnd.ms-excel;charset=utf-8"); 3 response.setHeader("Content-Disposition", "attachment;filename="+name.toString()+".xls"); 4 OutputStream out = response.getOutputStream(); 5  workBook.write(out); 6 out.close(); 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM