2009-01-31 18 views
0

我必須運行一些SQL查詢並將結果放入電子表格中。由於我在Spring/Java環境中,因此我正在使用JDBC運行查詢,遍歷ResultSet,並使用Jakarta POI創建一個簡單的XLS。ResultSet - > XLS

這看起來像是一個非常常見的需求,所以我想知道是否有可用的東西 - 一個給定一些SQL查詢和一個DataSource的包,可以執行這些查詢並將它們的ResultSet導出到電子表格中。有誰知道這樣的包裝?

+0

你使用什麼品牌的數據庫? Microsoft SQL Server(在這種情況下,您應該標記「sqlserver」)或其他品牌的問題? – 2009-01-31 19:05:02

+1

@ Bill,如果這是通過JDBC做數據庫的事情? – 2010-11-17 15:18:04

回答

2

您可以完全跳過Java。 Microsoft SQL Server Management Studio可以連接到您的Excel工作簿並直接將數據轉儲到其中。

如果使用其他的東西比MS SQL Server 2005中,你仍然可以創建任何ODBC數據源在Excel中的查詢,並寫一個SQL查詢的數據讀取到工作表。然後您可以隨時重新運行查詢以刷新數據。我建議你需要處理這些數據,你需要在單獨的工作表上做。

1

SSMS具有可以使用的內置功能。你也可以使用SSIS。我也喜歡易於使用的SQLAnswers Query這是非常整潔。你也可以使用命令行BCP出去CSV。

1

不是你的問題的直接答案,但對於這類任務,我寧願看看dbunit,儘管它通常用於測試DAO,但它具有所有必需的功能。它也可以執行相反的任務(即從XLS文件讀取數據並將其提供到數據庫中)。

我認爲在不到一個小時的時間內,你可以讓它做你所需要的。對於這種特殊用途,您當然可以刪除對JUnit的dbunit依賴關係(您將使用的任何dbunit類都不依賴於JUnit)。

1

你可以看看Jasper Reports。它當然可以導出爲XLS(或CSV或PDF ...),我相信爲它提供一個SQL結果集應該相對簡單。

3

我非常喜歡Andy Khan的JExcel到POI。也許你也會。