2012-01-11 93 views
-1

我想知道如何將表格的內容或查詢中的數據導出到Excel文件。還有最好是導出到xls或csv的文件擴展名?Java:如何將數據(數據庫,查詢或表格內容)導出到Excel?

在此先感謝。


編輯:我要的是能夠向JTable中含從查詢 - 結果的內容導出到Excel兼容的文件,通過按下一個按鈕的用戶。

我不知道最好的辦法是什麼?我發現了各種方法,但我不確定要遵循哪一個。是否有可能生成一個JasperReport然後出口到Excel相同的數據?


Edit2:好的,所以我決定導出到.csv像大多數人一樣建議。我最後的問題是哪一個更好用,opecsv或javacsv?兩者似乎都很容易使用。

謝謝!

回答

3

導出爲CSV文件更容易 - 並且可以在取決於數據的捏(每個新行是一個新行,單元格值之間用逗號隔開)手動完成 - 有可用的開源庫這個(http://opencsv.sourceforge.net/),以及用於複製一個結果你輸出的代碼應該是微不足道的

+0

關於進一步的檢查,請參閱http://opencsv.sourceforge.net/#sql-integration – tofarr 2012-01-11 14:19:57

0

您必須創建文本文件(csv)並寫入數據庫的結果。

PrintWriter out 
    = new PrintWriter(new BufferedWriter(new FileWriter("foo.csv"))); 

while(rs.next()) 
{ 
    out.println(String.format("%s,%s,%s",rs.getString(1),rs.getString(2),rs.getString(3)); 
} 
+0

@downvoter請關注添加評論。 – adatapost 2012-01-11 14:35:42

+1

我同意,這是一個完全有效的解決方案,並利用csv格式的簡單性! – 2012-01-11 14:43:14

-1

我曾與JXLS良好的成功: http://jxls.sourceforge.net/

這可以讓你使用JSP在本地Excel模板中使用所有格式設置等標籤。您傳遞數據以替代該Excel模板通過Map結構(類似於請求範圍變量)從Java API調用中吃掉。

如果您只是希望格式化Excel輸出,那麼這是JasperReports的一個很好的輕量級替代方案。

+0

@downvoter - 請評論? – wrschneider 2012-01-11 16:20:42

1

如果您絕對需要Excel,請使用Apache POI庫。

+0

我將這個應用程序作爲一個任務,教授說它必須能夠導出到Excel。 – 2012-01-11 14:32:01

0

除了已經給出的答案之外,我想說我寧願使用CSV。

CSV與應用程序無關,您可以在稍後使用任何其他語言/程序(Python,R,Java,Excel等)操作數據。