code: func (t *Table) AsBuffer() *bytes.Buffer {
  	var buffer bytes.Buffer
  
  	writer := tabwriter.NewWriter(&buffer, 5, 0, 1, ' ', 0)
  	template := strings.Repeat("%v\t", len(t.columns))
  
  	// Header and separator.
  	if !t.IsHeadless() {
  		var colh []interface{}
  		var cols []interface{}
  
  		for _, col := range t.columns {
  			colh = append(colh, col.title)
  			cols = append(cols, strings.Repeat("-", col.width))
  		}
  		fmt.Fprintf(writer, template+"\n", colh...)
  		fmt.Fprintf(writer, template+"\n", cols...)
  	}
  
  	// Body.
  	for _, row := range t.rows {
  		var rowi []interface{}
  		for _, cell := range row {
  			rowi = append(rowi, cell)
  		}
  		fmt.Fprintf(writer, template+"\n", rowi...)
  	}
  
  	writer.Flush()
  	return &buffer
  }
docs: // AsBuffer returns a *bytes.Buffer with the printed output of the table.