我想从任意数据集对象模型生成格式良好的表格文本。 Java 有没有一个好的库可以做到这一点?
具体来说,我希望输出的格式类似于命令行数据管理工具,例如 mysql 的 CLI。例子:
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| name | varchar(100) | YES | | NULL | |
| release | year(4) | YES | | NULL | |
| studio | varchar(50) | YES | | NULL | |
| review | varchar(50) | YES | | NULL | |
| gross | int(11) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+
一个主要挑战是,在开始遍历数据之前,我不会自动知道最大列宽。此外,还有很多边缘情况,例如处理非常大的值长度和大量的行和列。
如果我必须自己构建这个,我想我会使用 String.format,并且我需要在开始输出之前预先分析完整的数据集。不过,这是一个非常低的编码水平,所以我很想找到一个已经解决了这个问题的好库。
查看表格格式化程序 https://github.com/iNamik/Java-Text-Table-Formatter:它似乎可以完成您想要格式化表格数据的操作。源代码也可用。您可以使用流畅的界面方法将行和单元格附加到表中。示例如下:
TableFormatter tf = new SimpleTableFormatter(true) // true = show border
.nextRow()
.nextCell()
.addLine("Field")
.nextCell()
.addLine("Type")
因此,它将以正确的格式构建单元格并相应地调整空白。它还允许您对单元格内的文本进行基本对齐(中心、顶部、底部)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)