A TableCell object has a border, a text distance and a total width. These values are interacting and I thought to shed some light on this interaction.
The different properties in detail:
- TableCell.Width
This property gets or sets, in twips, the width of the cell. - TableCell.CellFormat.BottomTextDistance
Gets or sets, in twips, the distance between the table cell's bottom border and its text. - TableCell.CellFormat.TopTextDistance
Gets or sets, in twips, the distance between the table cell's top border and its text. - TableCell.CellFormat.LeftTextDistance
Gets or sets, in twips, the distance between the table cell's left border and its text. - TableCell.CellFormat.RightTextDistance
Gets or sets, in twips, the distance between the table cell's right border and its text. - TableCell.CellFormat.BottomBorderWidth
Gets or sets the width of the table cell's bottom border. - TableCell.CellFormat.TopBorderWidth
Gets or sets the width of the table cell's top border. - TableCell.CellFormat.LeftBorderWidth
Gets or sets the width of the table cell's left border. - TableCell.CellFormat.RightBorderWidth
Gets or sets the width of the table cell's right border.
The TableCell.Width property is completely independent from all other settings. In other words, the width of a TableCell stays constant even if you change the border width or the distance from the text to the border.
The following illustration shows the different values of a TableCell:

As you can see, the text distance is measured from the inner border to the text and the width is measured from the left outer border to the right outer border.