Java:如何将数据(数据库、查询或表内容)导出到 Excel?

发布于 2024-12-25 22:21:18 字数 408 浏览 1 评论 0原文

我想知道如何将表的内容或查询中的数据导出到 Excel 文件。另外,导出到的文件扩展名是 xls 还是 csv?

提前致谢。


编辑:我想要的是用户能够通过按按钮将 JTable 的内容(包含查询结果)导出到 Excel 兼容文件。

我不知道最好的方法是什么?我找到了多种方法,但我不确定该遵循哪一种。是否可以生成 JasperReport 然后将相同的数据导出到 Excel?


Edit2:好的,所以我决定像你们大多数人建议的那样导出到 .csv。我的最后一个问题是 opecsv 或 javacsv 哪个更好用?两者看起来都很容易使用。

谢谢!

I would like to know how to export the contents of a table or the data from a query to an Excel file. Also wich is the file extension that is better to export to, xls or csv?

Thanks in advance.


Edit: What i want is the user to to be able to export the contents of a JTable -containing the results from a query- to an Excel compatible file, by pressing a button.

I don't know what is the best way to do it? I found various ways but i'm not sure which one to follow. Is it possible to generate a JasperReport then export tha same data to excel?


Edit2:Ok so i decided to export to .csv like most of you suggest. My last question is which one is better to use, opecsv or javacsv? Both seem really easy to use.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

望她远 2025-01-01 22:21:18

导出到 csv 更容易 - 并且可以根据数据在紧要关头手动完成(每个新行都是一个新行,单元格值用逗号分隔) - 有可用的开源库(http:// opencsv.sourceforge.net/),并且将结果集复制到输出的代码应该很简单

Exporting to csv is easier - and could be done manually in a pinch depending on the data (Each new row is a new line, and cell values are seperated by a comma) - There are open source libraries available for this (http://opencsv.sourceforge.net/), and the code for copying a resultset to your output should be trivial

撩心不撩汉 2025-01-01 22:21:18

如果您确实需要 Excel,请使用 Apache POI 库。

If you absolutely need Excel, use the Apache POI library.

空名 2025-01-01 22:21:18

您必须创建文本文件(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));
}

You have to create text file (csv) and write the result of database.

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));
}
多像笑话 2025-01-01 22:21:18

除了已经给出的答案之外,我想说我更喜欢 CSV。

CSV 与应用程序无关,您可以稍后使用任何其他语言/程序(Python、R、Java、Excel 等)操作数据。

In addition to the answers already given, I would like to say that I would prefer CSV.

CSV is application-agnostic and you could manipulate the data later on with any other language/program (Python, R, Java, Excel, etc).

べ映画 2025-01-01 22:21:18

我使用 jXLS 取得了巨大成功:
http://jxls.sourceforge.net/

这使您可以在本机 Excel 模板中使用类似 JSP 的标记您可以通过 Map 结构(类似于请求范围变量)将数据从 Java API 调用传递到 Excel 模板中。

如果您只需要格式化的 Excel 输出,那么这是 JasperReports 的一个很好的轻量级替代方案。

I had good success with jXLS:
http://jxls.sourceforge.net/

this lets you use JSP-like tags in a native Excel template with all the formatting etc. You pass data to substitute into that Excel template from Java API calls, via a Map structure (analogous to request scope vars.)

This is a good lighter-weight alternative to JasperReports if you just want formatted Excel output.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文