学习C#调用OpenXml操作word文档的基本用法(1:读取样式定义)
OpenXml中的StyleDefinitionsPart类用于存储Word文档中的样式定义,该类的实例对象保存在MainDocumentPart类的StyleDefinitionsPart属性中,StyleDefinitionsPart类的Styles属性保存所有的样式定义,其类型为Styles,该类型中保存Style类集合,每个Style类实例对象代表具体的样式定义,包含样式的ID、名称、类型等核心属性。
样式类型主要包括以下几种,不同的样式类型用于定义不同数据对象的样式:
1)Paragraph:段落样式,用于控制整个段落的外观;
2)Character:字符样式,用于控制部分文本的格式;
3)Table:表格样式,用于定义表格的整体外观;
4)Numbering:编号样式,管理列表编号的格式。
使用测试文档验证样式定义数据读取方式,主要程序及运行效果如下所示:
using (WordprocessingDocument document = WordprocessingDocument.Open(txtFilePath.Text, false))
{// 获取文档主体部分Body body = document.MainDocumentPart.Document.Body;// 获取文档的样式定义部分StyleDefinitionsPart stylePart = document.MainDocumentPart.StyleDefinitionsPart;if (stylePart?.Styles != null){// 遍历所有样式foreach (Style style in stylePart.Styles.Elements<Style>()){ListViewItem item = new ListViewItem(Convert.ToString(lstStyles.Items.Count + 1));item.SubItems.Add(style.StyleId);item.SubItems.Add(style.StyleName?.Val?.Value);item.SubItems.Add(Convert.ToString(style.Type.ToString()));lstStyles.Items.Add(item);}}
}

参考文献
[1]https://github.com/dotnet/Open-XML-SDK
[2]https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk
