将表格内容转储为 ASCII 格式的表格字符串的简单方法?

Posted

技术标签:

【中文标题】将表格内容转储为 ASCII 格式的表格字符串的简单方法?【英文标题】:Easy way to dump a table's contents to a ASCII formatted table string? 【发布时间】:2011-10-10 13:42:07 【问题描述】:

我正在 Java 平台上调试一些数据库代码,将数据库表的各个点的内容转储到日志文件会很方便。

是否有一个 java 库可以接受一个 JDBC 连接和一个表名并将所有内容转储到一个字符串(理想情况下正确格式化为列)?

输出应该类似于:

| col1 | col2 | | 22 | 55 | | 23 | 99 |

我知道我可以自己写这个,但感觉就像可能已经存在的那种东西。但是经过大量搜索后,我什么也没看到。

也会对任何用于格式化 ASCI 表的 java 库感兴趣,因为我可能必须自己解决问题。

【问题讨论】:

另见***.com/a/31887249/32453 【参考方案1】:

您不需要 Java。检查您的数据库是否有类似以下命令(适用于 mysql):

SELECT * INTO OUTFILE '/my_table.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_table; 

编辑: 如果您使用 Excel 等电子表格阅读器打开文件,数据将被排列。否则,不会。为了准确排列 ASCII 文件的列,我知道的唯一方法是检查每个字段的长度并在必要时添加空格。

我不知道 Java 库会做这些事情。但实施起来应该不会特别困难。只是有点乏味……

【讨论】:

这会给我排列整齐的列吗?在某些情况下,这可能对我有用,但我有 2 个数据库随时可用(Orical 和 Derby),所以可能需要两次执行 db 特定解决方案......我仍然坚持只使用 JDBC/java 解决方案。跨度> 【参考方案2】:

DbUnit 具有从XML 表单导入和export 数据库表的方法。您必须自己添加代码才能将其写入文件。

【讨论】:

谢谢,但我不会 xml。我不会提供供人类阅读的 asci 数据表。 不会还是不想 文本供人类而非计算机使用,因此我的(更新的)问题中显示的格式将是最传统的。将其转储到日志文件的代码没有问题。

以上是关于将表格内容转储为 ASCII 格式的表格字符串的简单方法?的主要内容,如果未能解决你的问题,请参考以下文章

我如何将Postgres DDL转储到可粘贴到Google表格中的CSV中?

汇编实验题之用表格形式显示ASCII字符

将扩展的 Ascii“表格”代码(例如 ─、┬)从 Php 脚本打印到控制台时出现问题

将表格中的内容转换为使用 PowerQuery 格式化的 JSON

如何把pdf文件转换为excel表格

我的excel表格打开的单元格格式默认为日期,请问如何让excel表格打开的单元格格式默认为常规