一个极简的 Java ASCII 表格生成库

一个轻量级、零依赖的 Java ASCII 表格生成库。

特性

  • 轻量级、无依赖(jar包仅9kb)
  • API简单易用
  • 易于集成或定制修改,仅一个Java文件,且代码规范

集成使用

Maven集成

1
2
3
4
5
<dependency>
<groupId>com.blinkfox</groupId>
<artifactId>mini-table</artifactId>
<version>1.0.0</version>
</dependency>

API 使用

示例1(无标题)

1
2
3
4
5
6
String table = new MiniTable()
.addHeaders("header1", "header2")
.addDatas("col11", "col12")
.addDatas("col21", "col22")
.render();
System.out.println(table);

输出结果:

1
2
3
4
5
6
+---------+---------+
| header1 | header2 |
+---------+---------+
| col11 | col12 |
| col21 | col22 |
+---------+---------+

示例2(有标题)

1
2
3
4
5
6
7
String table = new MiniTable("The Title")
.addHeaders("Name", "Sex", "Age", "Email", "Phone")
.addDatas("LiLei", "male", 25, "lilei@gmail.com", "13809345219")
.addDatas("hanMeiMei", "female", 23, "hmm@163.com", "13515343853")
.addDatas("ZhangSan", "female", 32, "zhangsan@gmail.com", "13920199836")
.render();
System.out.println(table);

输出结果:

1
2
3
4
5
6
7
8
9
+-------------------------------------------------------------+
| The Title |
+-----------+--------+-----+--------------------+-------------+
| Name | Sex | Age | Email | Phone |
+-----------+--------+-----+--------------------+-------------+
| LiLei | male | 25 | lilei@gmail.com | 13809345219 |
| hanMeiMei | female | 23 | hmm@163.com | 13515343853 |
| ZhangSan | female | 32 | zhangsan@gmail.com | 13920199836 |
+-----------+--------+-----+--------------------+-------------+

许可证

本 mini-table 类库遵守 Apache License 2.0 许可证。

        </div>
        <hr/>

        

<div class="reprint" id="reprint-statement">
    
        <div class="reprint__author">
            <span class="reprint-meta" style="font-weight: bold;">
                <i class="fas fa-user">
                    文章作者:
                </i>
            </span>
            <span class="reprint-info">
                <a href="/" rel="external nofollow noreferrer">blinkfox</a>
            </span>
        </div>
        <div class="reprint__type">
            <span class="reprint-meta" style="font-weight: bold;">
                <i class="fas fa-link">
                    文章链接:
                </i>
            </span>
            <span class="reprint-info">
                <a href="/posts/2019/01/25/bian-cheng-yu-yan/java/yi-ge-ji-jian-de-java-ascii-biao-ge-sheng-cheng-ku/">/posts/2019/01/25/bian-cheng-yu-yan/java/yi-ge-ji-jian-de-java-ascii-biao-ge-sheng-cheng-ku/</a>
            </span>
        </div>
        <div class="reprint__notice">
            <span class="reprint-meta" style="font-weight: bold;">
                <i class="fas fa-copyright">
                    版权声明:
                </i>
            </span>
            <span class="reprint-info">
                本博客所有文章除特別声明外,均采用
                <a href="https://creativecommons.org/licenses/by/4.0/deed.zh" rel="external nofollow noreferrer" target="_blank">CC BY 4.0</a>
                许可协议。转载请注明来源
                <a href="/" target="_blank">blinkfox</a>
                !
            </span>
        </div>
    
</div>

<script async defer>
  document.addEventListener("copy", function (e) {
    let toastHTML = '<span>复制成功,请遵循本文的转载规则</span><button class="btn-flat toast-action" onclick="navToReprintStatement()" style="font-size: smaller">查看</a>';
    M.toast({html: toastHTML})
  });

  function navToReprintStatement() {
    $("html, body").animate({scrollTop: $("#reprint-statement").offset().top - 80}, 800);
  }
</script>

  目录