Reputation: 103
I can add a border to a table row, but how can I add a top border to a table cell? I cannot seem to find this in the ECMA documentation.
TableProperties tblProperties = new TableProperties();
TableBorders tblBorders = new TableBorders();
TopBorder topBorder = new TopBorder();
topBorder.Val = new EnumValue<BorderValues>(BorderValues.Thick);
topBorder.Color = "CC0000";
tblBorders.AppendChild(topBorder);
tblProperties.AppendChild(tblBorders);
Upvotes: 3
Views: 4991
Reputation: 439
And if you want to have shade on the specific row.
Kindly add the following to your row element.
TableCellProperties tableCellProperties = new TableCellProperties();
var shading = new Shading()
{
Color = "auto",
Fill = "D9D9D9",
Val = ShadingPatternValues.Clear
};
tableCellProperties.Append(shading);
rowElement.Append(tableCellProperties);
Upvotes: 2
Reputation: 439
Add the following to your row element.
TableCellProperties tableCellProperties = new TableCellProperties();
TableCellBorders tableCellBorders = new TableCellBorders();
TopBorder topBorder = new TopBorder()
{
Val = new EnumValue<BorderValues>(BorderValues.CheckedBarBlack),
Color = "000000"
};
tableCellBorders.AppendChild(topBorder);
tableCellProperties.Append(tableCellBorders);
rowElement.Append(tableCellProperties);
Upvotes: 2
Reputation: 103
Flydog57's comment to using the OpenXML Productivity Tool is the correct approach. You will spend way too much time attempting to figure things out on your own. Make a word document and then view it using the OpenXML Productivity Tool. Rinse and repeat.
Upvotes: 0