光环,
我一直在寻找一种使用 java 在文本文件中生成格式良好的报告的方法。
例如,我可能需要打印以下格式的报告
月度报告 A 报告名称 页码:1 A 日期:YYYY-MM-DD 一种 A 类别 数量 价格 一种 - - - - - - - - - - - - - - - - - - - - - - - - - - ----- B 笔 100 $100 B 纸 200 $400 一种 一个===================================== B 总计 500 美元 一个=====================================
我曾尝试编写自己的程序,但我只是觉得它一团糟!!!所以我想知道是否有任何现有的库可以使用,或者有没有好的方法来实现它?
顺便说一句,我环顾四周,发现了一个类似于我想要的库 https://github.com/iNamik/Java-Text-Table-Formatter
只是想知道是否还有其他选择。谢谢帮忙!!
==================================================== ===================
所以我制作了一个示例代码,我可能会用它来清理我的代码
StringBuilder sb = new StringBuilder();
sb.append(String.format("%s %50s%n", "A", "Monthly Report"));
sb.append(String.format("%s %48s%n", "A", "Report Name"));
sb.append(String.format("%s %n", "A"));
sb.append(String.format("%s %-20s %-20s %-20s%n", "A", "Category", "Quantity", "Price"));
sb.append(String.format("%s %-20s %-20s %-20s%n", "A", "--------------", "--------------", "--------------"));
sb.append(String.format("%s %-20s %-20s %-20s%n", "B", "Paper", 100, "$200"));
System.out.println(sb.toString());
输出:
月度报告 报告名称 一种 A 类别 数量 价格 一种 - - - - - - - - - - - - - - - - - - - - - B 纸 100 $200
我在想如何在不硬编码格式化程序的 int 参数的情况下在中心制作“报告名称”和在右侧制作“页码:”(即 %50s,没有 50,是否可能)