I need to output data into a console as a table. I was wondering maybe there are some java libraries that would take care of drawing tables in ASCII art, aligning values inside
Try iNamik Text Table Formatter for Java.
I like your table and wrote that: https://github.com/klaus31/ascii-art-table
This worked pretty well for me: http://code.google.com/p/java-ascii-table/
String [] header = {
"User Name",
"Salary", "Designation",
"Address", "Lucky#"
};
String[][] data = {
{ "Ram", "2000", "Manager", "#99, Silk board", "1111" },
{ "Sri", "12000", "Developer", "BTM Layout", "22222" },
{ "Prasad", "42000", "Lead", "#66, Viaya Bank Layout", "333333" },
{ "Anu", "132000", "QA", "#22, Vizag", "4444444" },
{ "Sai", "62000", "Developer", "#3-3, Kakinada" },
{ "Venkat", "2000", "Manager" },
{ "Raj", "62000"},
{ "BTC"},
};
Which renders the following:
+-----------+--------+-------------+------------------------+---------+ | User Name | Salary | Designation | Address | Lucky# | +-----------+--------+-------------+------------------------+---------+ | Ram | 2000 | Manager | #99, Silk board | 1111 | | Sri | 12000 | Developer | BTM Layout | 22222 | | Prasad | 42000 | Lead | #66, Viaya Bank Layout | 333333 | | Anu | 132000 | QA | #22, Vizag | 4444444 | | Sai | 62000 | Developer | #3-3, Kakinada | | | Venkat | 2000 | Manager | | | | Raj | 62000 | | | | | BTC | | | | | +-----------+--------+-------------+------------------------+---------+
Here is also a handy library: https://github.com/JakeWharton/flip-tables
As the doc said:
String[] headers = { "Test", "Header" };
String[][] data = {
{ "Foo", "Bar" },
{ "Kit", "Kat" },
};
System.out.println(FlipTable.of(headers, data));
should have the following output:
╔══════╤════════╗
║ Test │ Header ║
╠══════╪════════╣
║ Foo │ Bar ║
╟──────┼────────╢
║ Kit │ Kat ║
╚══════╧════════╝