学习C#调用OpenXml操作word文档的基本用法(7:Style类分析-5)
OpenXml的Style类中StyleTableProperties属性类型为StyleTableProperties,用于定义整个表格的样式,而StyleTableCellProperties属性类型为StyleTableCellProperties,用于定义表格单元格样式。本文学习StyleTableProperties类的主要属性。
1)TableStyleRowBandSize属性:用于设置表格行区段的行数,也即表格样式中间隔行带状条纹的行数以创建斑马条纹效果,类型为TableStyleRowBandSize,整数类型,其效果等同于word中表格样式设置的条带中的行区段行数,如下图所示:

2)TableStyleColumnBandSize属性:用于设置表格列区段的列数,也即表格样式中间隔列带状条纹的列数以创建斑马条纹效果,类型为TableStyleColumnBandSize,整数类型,其效果等同于word中表格样式设置的条带中的列区段列数,如下图所示:

3)TableJustification属性:用于设置整个表格在页面上的水平对齐方式,类型为TableJustification,取值为TableRowAlignmentValues型,其值等同于表格属性中表格页签的对齐方式设置。

4)TableCellSpacing属性:用于设置表格中单元格之间的间距,类型为TableCellSpacing,该类型继承自TableWidthType类,后者主要包括Width(宽度值)和Type(单位类型),Type属性从枚举值TableWidthUnitValues内取值。该属性等同于点击表格属性中表格页签的选项按钮,然后在表格选项中设置单元格间距。

5)TableIndentation属性:用于设置Word文档中表格的整体水平缩进,类型为TableIndentation,该类型主要包括Width(缩进值)和Type(单位类型),Type属性从枚举值TableWidthUnitValues内取值。该属性等同于设置表格属性中表格页签的左缩进值。

6)TableBorders属性:用于设置表格的边框,类型为TableBorders,该类主要包括TopBorder(上边框)、LeftBorder(左边框)、StartBorder(表格单元格前导边缘边框,DeepSeek介绍是表格开始侧的边框)、BottomBorder(下边框)、RightBorder(右边框)、EndBorder(表格单元格尾随边缘边框,DeepSeek介绍是表格结束侧的边框)、InsideHorizontalBorder(表格内部的水平边框)、InsideVerticalBorder(表格内部的垂直边框)等属性,这些属性的类型都继承自BorderType类,后者的主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | Val | 边框线型,从枚举值BorderValues内取值 |
| 2 | Color | 边框颜色,支持RGB字符串 |
| 3 | ThemeColor | 边框主题颜色,从枚举值ThemeColorValues内取值 |
| 4 | ThemeTint | 边框主题颜色色调 |
| 5 | ThemeShade | 边框主题颜色底纹 |
| 6 | Size | 边框宽度 |
| 7 | Space | 边框间距 |
| 8 | Shadow | 边框是否有阴影效果 |
| 9 | Frame | 是否创建帧效果 |
7)Shading属性:用于设置表格底纹,类型为Shading,主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | Val | 底纹图案类型,从枚举值ShadingPatternValues内取值 |
| 2 | Color | 底纹图案颜色,支持RGB字符串 |
| 3 | ThemeColor | 底纹图案主题颜色,从枚举值ThemeColorValues内取值 |
| 4 | ThemeTint | 底纹图案主题颜色色调 |
| 5 | ThemeShade | 底纹图案主题颜色底纹 |
| 6 | Fill | 底纹背景色,通常使用 RGB 颜色值 |
| 7 | ThemeFill | 底纹背景主题颜色,从枚举值ThemeColorValues内取值 |
| 8 | ThemeFillTint | 底纹背景主题颜色色调 |
| 9 | ThemeFillShade | 底纹背景主题颜色底纹 |
8)TableCellMarginDefault属性:用于设置单元格边距,类型为TableCellMarginDefault,主要包括两大类属性:TopMargin(上边距)、StartMargin(开始侧边距)、BottomMargin(下边距)、EndMargin(结束侧边距),这四个属性的类型都继承自TableWidthType类(主要包括宽度值Width和单位类型Type,Type属性从枚举值TableWidthUnitValues内取值),TableCellLeftMargin(单元格左侧边距默认值)和TableCellRightMargin(单元格右边距默认值)属性的类型都继承自TableWidthDxaNilType(主要包括宽度值Width和单位类型Type,Type属性从枚举值TableWidthValues内取值)。

参考文献
[1]https://github.com/dotnet/Open-XML-SDK
[2]https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk
[3]https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1
[4]https://blog.csdn.net/i042416/article/details/126228816
