{"id":20479621,"url":"https://github.com/simon622/string-table","last_synced_at":"2026-04-18T11:03:29.213Z","repository":{"id":131331701,"uuid":"226320968","full_name":"simon622/string-table","owner":"simon622","description":"Java utility to allow quick rendering of tabulated data into various output formats","archived":false,"fork":false,"pushed_at":"2020-03-30T08:00:07.000Z","size":30,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-16T03:50:02.953Z","etag":null,"topics":["ascii","csv","database","java","logging","table"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simon622.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-06T12:03:06.000Z","updated_at":"2020-03-30T08:00:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"507f5a99-9ec5-4baa-80f4-b823884a9257","html_url":"https://github.com/simon622/string-table","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon622%2Fstring-table","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon622%2Fstring-table/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon622%2Fstring-table/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon622%2Fstring-table/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simon622","download_url":"https://codeload.github.com/simon622/string-table/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242048956,"owners_count":20063482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ascii","csv","database","java","logging","table"],"created_at":"2024-11-15T15:44:51.183Z","updated_at":"2026-04-18T11:03:29.183Z","avatar_url":"https://github.com/simon622.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# String-Table\nLightweight Java framework to allow quick rendering of tabulated data.\nGreat for debugging and quickly visualising data for logging or reporting. \nSupports automatic column size detection, advanced sort, rollup and multiple output formats.\n\n## Recent changes\n* 2018 - Added support for ResultSet reading into StringTable\n* 2019 - Added support for data sorting by Lexical and Numeric types.\n* 2019 - Added support for HTML output\n\nInbuilt support for the following export formats;\n* ASCII\n* CSV\n* HTML\n\n## Simple example\n\n```java\n  StringTable st = new StringTable(\"First Column\", \"Second Column\", \"Third Column\");\n  for (int i = 0; i \u003c 10; i++) {\n    st.addRow(i, i, i);\n  }\n  System.out.println(StringTableWriters.writeStringTableAsASCII(st));\n```\n\n## Database example\n\n```java\n  ResultSet rs = ...\n  StringTable st = StringTableDatabaseUtils.readStringTable(rs);\n  System.out.println(StringTableWriters.writeStringTableAsHTML(st));\n```\n\n### Export as ASCII\n\u003cpre\u003e\n+--------------++---------------++--------------+\n| First Column || Second Column || Third Column |\n+--------------++---------------++--------------+\n| 0            || 0             || 0            |\n| 1            || 1             || 1            |\n| 2            || 2             || 2            |\n| 3            || 3             || 3            |\n| 4            || 4             || 4            |\n| 5            || 5             || 5            |\n| 6            || 6             || 6            |\n| 7            || 7             || 7            |\n| 8            || 8             || 8            |\n| 9            || 9             || 9            |\n+--------------++---------------++--------------+\n\u003c/pre\u003e\n\n### Export as HTML\n\u003ctable style=\"border: 0px solid black;\"\u003e\u003cthead\u003e\u003ctr\u003e\u003cth style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003eFirst Column\u003c/th\u003e\u003cth style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003eSecond Column\u003c/th\u003e\u003cth style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003eThird Column\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e0\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e0\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e0\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e1\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e1\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e1\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e2\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e2\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e2\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e3\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e3\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e3\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e4\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e4\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e4\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e5\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e5\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e5\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e6\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e6\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e6\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e7\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e7\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e7\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e8\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e8\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e8\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e9\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e9\u003c/td\u003e\u003ctd style=\"padding:2px;border-bottom: 1px solid #ddd;\"\u003e9\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n### Export as CSV\nFirst Column,Second Column,Third Column\n0,0,0\n1,1,1\n2,2,2\n3,3,3\n4,4,4\n5,5,5\n6,6,6\n7,7,7\n8,8,8\n9,9,9\n\n## Sort table\n```java\n  StringTable st = new StringTable(\"First Column\", \"Second Column\", \"Third Column\");\n  for (int i = 0; i \u003c 10; i++) {\n    st.addRow(i, i, i);\n  }\n  st.sort(0, false);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimon622%2Fstring-table","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimon622%2Fstring-table","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimon622%2Fstring-table/lists"}