我已經使用jxls.jar庫將數據導出爲excel格式並以* .xls格式存儲在文件中。 我怎樣才能打開或促進對話框打開或使用的servlet 完成寫入處理之後將該文件保存到文件中的所有proccess寫入到文件中單獨的函數完成..如何通過servlet打開Excel文件
0
A
回答
2
據我所知,你有Excel文件爲File
對象,並要提供這作爲一個下載到客戶端。您需要將Content-Disposition
標題設置爲attachment
以讓客戶端顯示另存爲對話。您還需要設置Content-Type
標頭,以便讓客戶知道它是什麼文件類型,以便它最終可以將正確的應用程序與它關聯,以便終端用戶希望立即打開它。最後,設置Content-Length
標題最好是因爲它改善了服務性能(否則Servlet API將回退到需要更多字節和處理時間的分塊編碼)。
設置正確的標題後,只需要將InputStream
從File
寫入到HttpServletResponse
的OutputStream
即可。
private static final int DEFAULT_BUFFER_SIZE = 8192; // 8KB.
// ...
File file = createExcelFileSomehow();
// ...
response.reset();
response.setBufferSize(DEFAULT_BUFFER_SIZE);
response.setHeader("Content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Length", String.valueOf(file.length()));
response.setHeader("Content-Disposition", "attachment; filename=\"" + file.getName() + "\"");
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
input = new BufferedInputStream(new FileInputStream(file), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
for (int length; (length = input.read(buffer)) > -1;) {
output.write(buffer, 0, length);
}
} finally {
if (output != null) try { output.close(); } catch (IOException ignore) {}
if (input != null) try { input.close(); } catch (IOException ignore) {}
}
0
0
添加標題內容處置:附件
0
此代碼段應該可以幫助您。當您在IE瀏覽器中以內聯方式給予內容處置時,它將在不提示對話框的情況下打開Excel。
response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-disposition","inline;fileName=" + fileName); final java.io.OutputStream os = response.getOutputStream();
調用createExcel功能通過OutputStream對象
os.flush(); os.close();
相關問題
- 1. 打開Excel,並通過文件密碼通過
- 2. HTML - 通過excel打開通過explorer.exe /文件進行本地化
- 3. 如何通過python打開文件
- 4. 通過Matlab打開MS Excel
- 5. 通過inode打開文件
- 6. 打開Excel文件
- 7. 打開excel文件
- 8. 如何通過C#打開Excel並提供Excel焦點
- 9. 如何從QTP Resultsviewer打開Excel文件
- 10. 如何在Python中打開Excel文件?
- 11. 如何用Excel打開XML文件?
- 12. 如何從weka打開excel文件
- 13. 如何從Sharpoint打開Excel文件
- 14. 如何從MS Access打開Excel文件?
- 15. Flex:通過Servlet導出Excel
- 16. 如何通過文件標識打開HFS +文件?
- 17. 通過C#在Excel中打開一個CSV文件?
- 18. 通過Access 2013編輯後無法打開Excel 2013文件VBA
- 19. 打開一個Excel通過C#和寫入數據文件
- 20. excel無法打開通過jsp下載的文件
- 21. Excel不想打開通過ASP輸出下載的XLSX文件
- 22. 通過Excel VBA打開現有PowerPoint文件時出現錯誤
- 23. 通過批量打開文本文件?
- 24. 如何打開多個文件並通過shell開放
- 25. 如何通過C#在SQL Server 2008中打開一個存儲的Excel文件
- 26. 通過python win32com打開excel文件,其中有外文文件名
- 27. VBA打開Excel文件
- 28. Excel文件無法打開
- 29. Excel不打開大文件
- 30. 攔截Excel打開文件