code: func (t *Table) SetCell(row, column int, cell *TableCell) *Table {
  	if row >= len(t.cells) {
  		t.cells = append(t.cells, make([][]*TableCell, row-len(t.cells)+1)...)
  	}
  	rowLen := len(t.cells[row])
  	if column >= rowLen {
  		t.cells[row] = append(t.cells[row], make([]*TableCell, column-rowLen+1)...)
  		for c := rowLen; c < column; c++ {
  			t.cells[row][c] = &TableCell{}
  		}
  	}
  	t.cells[row][column] = cell
  	if column > t.lastColumn {
  		t.lastColumn = column
  	}
  	return t
  }
docs: // SetCell sets the content of a cell the specified position. It is ok to
  // directly instantiate a TableCell object. If the cell has content, at least
  // the Text and Color fields should be set.
  //
  // Note that setting cells in previously unknown rows and columns will
  // automatically extend the internal table representation, e.g. starting with
  // a row of 100,000 will immediately create 100,000 empty rows.
  //
  // To avoid unnecessary garbage collection, fill columns from left to right.