结果集-> XLS

Posted

技术标签:

【中文标题】结果集-> XLS【英文标题】:ResultSet -> XLS 【发布时间】:2009-01-31 00:54:47 【问题描述】:

我必须运行几个 SQL 查询并将结果放入电子表格。由于我在 Spring/Java 环境中,我将使用 JDBC 运行查询,遍历 ResultSet,并使用 Jakarta POI 创建一个简单的 XLS。

这看起来是一个非常常见的要求,所以我想知道是否有一些可用的东西 - 一个提供一些 SQL 查询和数据源的包,可以执行查询并将它们的结果集“导出”到电子表格中。有人知道这样的包吗?

【问题讨论】:

您使用什么品牌的数据库? Microsoft SQL Server(在这种情况下您应该标记问题“sqlserver”)或其他品牌? @Bill,如果这是通过 JDBC,数据库是否重要? 【参考方案1】:

比起 POI,我更喜欢 Andy Khan 的 JExcel。也许你也会。

【讨论】:

【参考方案2】:

您可以完全跳过 Java。 Microsoft SQL Server Management Studio 可以连接到您的 Excel 工作簿并将数据直接转储到其中。

“Export Data From SQL Server 2005 to Microsoft Excel Datasheet”

如果您使用 MS SQL Server 2005 以外的其他工具,您仍然可以在 Excel 中创建对任何 ODBC 数据源的查询,并编写 SQL 查询以将数据提取到工作表中。然后您可以随时重新运行查询以刷新数据。我建议你需要对这些数据做任何其他事情,你可以在单独的工作表上做。

【讨论】:

原始问题没有明确提到“SQL-Server”,因此您的答案可能有点狭窄(尽管它可能满足原始发布者的需求,前提是他使用 SQL-Server)。 他确实提到了 Excel,所以我假设他使用的是 Windows。当人们使用 Microsoft SQL Server 时,我发现他们将问题简单地标记为“sql”的可能性约为 50%。 比尔,我正在使用 Oracle。我的部署环境是Java/Linux。【参考方案3】:

SSMS 具有可以使用的内置功能。您也可以使用 SSIS。我也很喜欢SQLAnswers Query 的易用性,它非常简洁。您也可以使用命令行 BCP 输出 CSV。

【讨论】:

【参考方案4】:

不是对您问题的直接回答,但对于此类任务,我宁愿看一下 dbunit,虽然它通常用于测试 DAO,但它具有执行此操作所需的所有功能。它还可以执行相反的任务(即从 XLS 文件中读取数据并将其输入数据库)。

我认为在不到一小时的时间内,您就可以让它完成您需要的工作。对于这种特殊用途,您当然可以删除对 JUnit 的 dbunit 依赖(您将用于此的任何 dbunit 类都不依赖于 JUnit)。

【讨论】:

【参考方案5】:

你可以看看Jasper Reports。它当然可以导出到 XLS(或 CSV,或 PDF...),我相信向它提供 SQL 结果集应该相对简单。

【讨论】:

以上是关于结果集-> XLS的主要内容,如果未能解决你的问题,请参考以下文章

Map结果集排序

将 Dbeaver 上的结果集导出到 CSV

having筛选结果集

Struts2 全局结果集

mybatis百科-结果集映射类ResultMap

Struts中Action结果集路径解释