2009-12-11 143 views
0

如何使excel文件(和txt文件)充滿servlet中html頁面上的表中的數據並將其發送到瀏覽器?Java servlet - 導出爲ex​​cel

+0

查找到POI:http://poi.apache.org/ – 2009-12-11 20:28:58

回答

4

首先,您需要生成實際內容(例如Excel文件)。 Apache POI可以輕鬆生成Excel電子表格。或者,您可以簡單地生成一個.csv文件。

其次你需要返回正確的內容類型。有關更多信息,請參閱this Javaworld tip。簡而言之,您可以在響應中設置內容類型。

// MIME type for Excel 
res.setContentType("application/vnd.ms-excel"); 

將設置Excel MIME類型。如果你生成一個CSV文件,text/csv會起作用。

您可能還需要設置下載的文件名。

res.setHeader("Content-disposition", 
        "attachment; filename=Example.xls"); 

使用content-disposition標題來實現此目的。

+0

謝謝!這正是我想要的 – michal 2009-12-11 20:44:25

+0

我同時擁有POI和它有兩個問題 - 打開一個大文件(20 MB)很慢並且無法評估NPV。我決定嘗試JExcel,它非常快速,非常快速,閱讀單元格的模型比使用POI的單元格更容易使用,並且可以實現NPV。我總是傾向於說Apache的東西總是比「做某事的人」更好,但在這種情況下,我認爲它恰恰相反。 – 2009-12-12 09:01:09

+0

有趣。別忘了我正在討論*創建*文件(儘管我在POI中創建文件的一種方法是加載/修改現有文件)。不過,我會檢查JExcel。 – 2009-12-12 09:07:19

1

作爲替代使用庫生成Excel文件(在這種情況下,我會建議看JExcel),您可以生成CSV文件,如果你已經安裝了Excel它可能會用它來打開這種類型的文件。

CSV =逗號分隔值