TablePrinter
tableprinter is an intelligent value-to-table formatter and writer. It uses a customized version of olekukonko/tablewriter to render a result table.

It checks every in data and transforms those data(structure values, slices, maps, single lists that may contain different type of values such as go standard values like int, string even a value that implements the fmt.Stringer interface) to a table formatted text and outputs it to an io.Writer. Like encoding/json#Encode but for tables.

Installation
The only requirement is the Go Programming Language, at least version 1.10.
$ go get -u github.com/lensesio/tableprinter
package main
import (
"os"
"sort"
"github.com/kataras/tablewriter"
"github.com/lensesio/tableprinter"
)
type person struct {
Firstname string `header:"first name"`
Lastname string `header:"last name"`
}
func main() {
printer := tableprinter.New(os.Stdout)
persons := []person{
{"Chris", "Doukas"},
{"Georgios", "Callas"},
{"Ioannis", "Christou"},
{"Nikolaos", "Doukas"},
{"Dimitrios", "Dellis"},
}
sort.Slice(persons, func(i, j int) bool {
return persons[j].Firstname > persons[i].Firstname
})
printer.BorderTop, printer.BorderBottom, printer.BorderLeft, printer.BorderRight = true, true, true, true
printer.CenterSeparator = "│"
printer.ColumnSeparator = "│"
printer.RowSeparator = "─"
printer.HeaderBgColor = tablewriter.BgBlackColor
printer.HeaderFgColor = tablewriter.FgGreenColor
printer.Print(persons)
}
Examples
Versioning
Current: v0.0.3
Read more about Semantic Versioning 2.0.0
License
Distributed under Apache Version 2.0, see LICENSE for more information.