openxml

gc_22999 天前
c#·word·表格·table·openxml
学习C#调用OpenXml操作word文档的基本用法(39:学习表格类-1)word文档中除了文本、图片之外,常用的元素还有表格,openxml中使用Table类创建表格,该类是Word文档中表格相关的核心类,主要用途包括构建表格结构、设置表格级属性、管理表格行为,同时支持嵌套表格以实现复杂布局,其对应document.xml文件内的<w:tbl>元素。   除了Table类,创建简单表格还涉及的类型主要包括TableRow、TableCell、TableWidth、TableProperties、TableBorders、TableCaption、Paragraph等,构建表格
gc_229910 天前
word·openxml·特殊符号
学习C#调用OpenXml操作word文档的基本用法(38:学习特殊符号类-2)openxml的SymbolChar类用于向Word文档中插入特殊的、非标准字母字符,例如各种字体图标等,其命名空间为DocumentFormat.OpenXml.Wordprocessing。其主要包含以下两个属性:   1)Font属性:设置包含所需特殊符号的字体名称;   2)Char属性:设置特殊符号在指定字体中的十六进制字符代码。   可以在word文档的“插入”->"符号"界面中查看不同字体中的特殊符号的十六进制字符代码,如下图所示:   SymbolChar类的使用示例及在word文档中的效
gc_229911 天前
word·openxml·run
学习C#调用OpenXml操作word文档的基本用法(36:学习特殊符号类-1)openxml中的SeparatorMark类及ContinuationSeparatorMark类用于生成一条分隔主文档内容和注释内容的水平分隔线,前者的长度短一些,后者贯穿整个页面宽度。这两个类的命名空间为DocumentFormat.OpenXml.Wordprocessing。   注意,虽然这两个类可以向本文中插入水平分割线(如下面示例代码及word文档效果所示),但通常它们用于Word文档的脚注或尾注区域,在文档正文中使用这两个类插入横线从语义和规范上都不正确,需要插入横线时,应使用段落边框(
gc_229912 天前
word·openxml·复杂字段
学习C#调用OpenXml操作word文档的基本用法(37:学习复杂字段相关类)openxml中的FieldChar和FieldCode类是构建Word文档中复杂字段(如 PAGE、MERGEFIELD、= 公式等)的两个核心类,其中FieldChar类用于定义复杂字段的结构边界(开始、分隔、结束),而FieldCode类用于存储复杂字段的指令内容(例如PAGE、MERGEFIELD、UserName等)。只有将两者按正确顺序组合在一起,Word文档才能正确识别复杂字段并动态更新字段内容。   FieldChar类用于构建复杂字段,其主要包含以下属性:   1)FieldCharTy
gc_229913 天前
word·openxml·图表·drawing
学习C#调用OpenXml操作word文档的基本用法(35:学习图形类-5)使用图形类Drawing不仅可以将图片保存到word文档,还能将图表、表格等数据保存到word文档,关键就在于其子类型GraphicData支持关联多种类型的图形数据,本文记录以嵌入式布局方式向word中插入图表的基本用法。   主要代码如下所示:
gc_229914 天前
word·openxml·anchor·浮动式布局
学习C#调用OpenXml操作word文档的基本用法(34:学习图形类-4)上一篇文章介绍了openxml中word文档相关的浮动式布局类Anchor的主要属性,但只配置这些属性并不能以浮动式布局向word文档中插入图片。Anchor类支持下图所示子类型,尤其是Graphic类、DocProperties类等,只有在Ahchor类中插入这些子类型实例,才能正确的向word文档中插入并显示图片。同时根据网上的说法,Anchor类的子类型的实例插入顺序也会影响图片插入效果。   下图是手工设置word文档中的图片的浮动式布局后,document.xml文件中Anchor中的属性设置及
gc_229916 天前
word·openxml·浮动·drawing·anchor
学习C#调用OpenXml操作word文档的基本用法(33:学习图形类-3)本文学习openxml的文本运行类Run的子类型图形类Drawing的子类型浮动式布局类Anchor的主要属性,其命名空间为DocumentFormat.OpenXml.Drawing.Wordprocessing。   1)DistanceFromTop属性:图形与上边缘文本的距离,类型为UInt32Value,还有DistanceFromBottom、DistanceFromLeft和DistanceFromRight属性,分别代表图形与下边缘文本的距离、与左边缘文本的距离、与右边缘文本的距离;   
gc_229917 天前
word·inline·openxml·drawing·嵌入式布局
学习C#调用OpenXml操作word文档的基本用法(32:学习图形类-2)openxml的文本运行类Run的子类型图形类Drawing只有两个属性,代表图形的两种布局方式,一个属性为Anchor,保存浮动式布局设置,另一个属性为Inline,代表嵌入式布局,后者的类型为Inline,命名空间为,DocumentFormat.OpenXml.Drawing.Wordprocessing,本文学习Inline类的主要属性。   1)DistanceFromTop属性:图形与上边缘文本的距离,类型为UInt32Value,还有DistanceFromBottom、DistanceFr
gc_22991 个月前
word·openxml·run·drawing
学习C#调用OpenXml操作word文档的基本用法(31:学习图形类-1)文本运行类Run的子类型Drawing用于保存word文档中的图片、图表、形状等图形对象,命名空间为DocumentFormat.OpenXml.Wordprocessing,对应document.xml文件内的元素如下图所示。本文学习使用Drawing类将图片保存到Word文档的基本用法。   图形类Drawing的类继承链为OpenXmlElement -> OpenXmlCompositeElement-> Drawing,其主要属性包括以下两个:   1)Anchor属性:浮动式布局,精确控制图形
gc_22991 个月前
word·openxml·日期
学习C#调用OpenXml操作word文档的基本用法(30:学习日期相关类)文本运行类Run的子类型DayShort、DayLong、MonthShort、MonthLong、YearShort及YearLong用于向文本中插入年月日等信息,命名空间为DocumentFormat.OpenXml. Wordprocessing,对应document.xml文件内的元素如下图所示:   上述六种日期类型继承自EmptyType,不包含任何用于控制格式的属性,其显示格式(如日期的长短格式)完全固定。六种日期类型的说明如下表所示:
gc_22991 个月前
word·文本·text·openxml
学习C#调用OpenXml操作word文档的基本用法(28:学习文本类)文本类Text是openxml中用于保存纯文本内容的核心类,命名空间为DocumentFormat. OpenXml.Wordprocessing,对应document.xml文件内的<w:t>元素,负责保存word文档里真正可读、可编辑的文字信息。   在openxml的wrod文档结构里,文本不能直接放在段落(Paragraph)下,必须按照段落类(Paragraph)、文本运行类(Run)、文本类(Text)的层级关系创建对象,Text对象保存文本内容,文本格式放在文本运行类中,而段落格式在放在段落
gc_22991 个月前
word·中断·openxml·break
学习C#调用OpenXml操作word文档的基本用法(29:学习中断类)中断类Break是openxml中用于手动插入换行符、分页符或分栏符的核心类,命名空间为DocumentFormat.OpenXml.Wordprocessing,对应document.xml文件内的<w:br>元素,负责精细控制文档布局。   中断类用于在文本运行类(Run)的当前位置放置中断,中断是一种特殊字符,用于替代基于文档内容的正常布局执行的常规换行,插入中断字符后会重新启动文本的位置,具体位置由中断类实例的类型和清除属性值确定。   中断类Break的类继承链为OpenXmlElement -
gc_22991 个月前
word·openxml·run·runproperties
学习C#调用OpenXml操作word文档的基本用法(27:学习文本运行类-续)上一篇文章中介绍的文本运行类Run,其中的RunProperties属性设置文本格式及效果,其类型为RunProperties,包括TextOutlineEffect、Reflection、Glow等效果设置属性,本文进一步学习这些属性的类型说明:   1)Glow属性:设置文字的发光效果,对应word文档中字体设置->文字效果中的发光设置,类型为Glow,主要属性如下表所示:
gc_22991 个月前
document·openxml·文档根元素类
学习C#调用OpenXml操作word文档的基本用法(24:学习文档根元素类)OpenXML中,WordprocessingDocument类代表整个word文档,MainDocumentPart类代表word文档的主文档部分,对应document.xml文件,而Document类则是文档根元素类,对应document.xml文件的根节点标签,是文档内容的实际容器。这三个类的关系如下图所示(示意图来自DeepSeek)。   Document类主要包括以下属性:   1)Body属性:保存文档主体内容,类型为Body,对应 document.xml文件内的<w:body> 元素,包
gc_22991 个月前
word·openxml·run
学习C#调用OpenXml操作word文档的基本用法(26:学习文本运行类)文本运行类Run是openxml中用于表示文本运行的核心类,命名空间为DocumentFormat. OpenXml.Wordprocessing,对应document.xml文件内的<w:r>元素,是段落内具有相同字符格式的最小文本单元,可以包含实际文本、换行符、图片、符号等内联内容。Run类支持添加下图所示的几十种子类型。   Run类的主要属性如下表所示:
gc_22992 个月前
openxml·paragraph·段落
学习C#调用OpenXml操作word文档的基本用法(25:学习文档段落类)Openxml中Body类是文档根元素类Document的重要属性类,包含文档所有正文内容(段落、表格、图片等),该类型支持添加下图所示的几十种子类型。本文学习其中的Paragraph类的主要属性。   Paragraph类,命名空间为DocumentFormat.OpenXml.Wordprocessing,对应document.xml文件内的<w:p>元素,是文档内容的基本块级单元,几乎所有的文本、图片、表格等都需要放在段落中。Paragraph类型支持添加下图所示的几十种子类型:   Paragra
gc_22992 个月前
openxml·术语表
学习C#调用OpenXml操作word文档的基本用法(23:学习术语表管理类)OpenXml中使用GlossaryDocumentPart类集中管理Word文档中所有的文档构建基块内容,适合用来存储合同中的可选条款、信函中的标准段落、公司信头或签名等各类需要重复使用的内容。采用解压缩软件打开Word模板文档(word文档中没有找到在哪里),其内的word\glossary文件夹中的document.xml文件保存通过程序插入的基块内容,如下图所示。   MainDocumentPart类的GlossaryDocumentPart属性保存基块信息集合,其类型为GlossaryDocu
gc_22994 个月前
c#·word·openxml·ole
学习C#调用OpenXml操作word文档的基本用法(21:学习嵌入对象类)OpenXml中使用EmbeddedObjectPart类处理Word文档内嵌入的OLE对象,MainDocumentPart类的EmbeddedObjectParts属性保存所有的OLE对象。以下图为例,向上一篇文章中的word文档中粘贴mp3文件和xml文件,采用解压缩软件打开Word文档,其内的embeddings文件夹中圈红处保存后续插入的两个文件的OLE对象数据,而media文件夹内圈红处则保存每个OLE对象在word文档中的显示图标。   MainDocumentPart类的EmbeddedO
gc_22994 个月前
c#·word·openxml·嵌入文档
学习C#调用OpenXml操作word文档的基本用法(20:学习嵌入文件类)OpenXml中使用EmbeddedPackagePart类处理Word文档内嵌入的完整文件(大模型介绍说主要处理Office文件,但没有在其它学习文档或微软文档中找到相关说明),MainDocumentPart类的EmbeddedPackageParts属性保存所有的嵌入文件。以下图为例,向word文档中粘贴visio图形及另一个word文件,采用解压缩软件打开Word文档,其内的embeddings文件夹中保存嵌入文件的原始内容,而media文件夹内则保存每个嵌入office文件在word文档中的显示
gc_22994 个月前
c#·word·openxml·页脚·footerpart
学习C#调用OpenXml操作word文档的基本用法(19:学习文档页脚类)OpenXml中使用FooterPart类保存Word文档内所有页脚信息,为文档中各节使用页脚提供引用目标。采用解压缩软件打开Word文档,其内的word文件夹中保存页脚文件,每个页脚都对应独立的footer.xml文件,然后在word文件夹的document.xml文件内引用页脚信息,如下图所示。