OOXML:表标题(标题)是如何编码的?

时间:2014-04-17 13:15:56

标签: xml openxml document xmldocument

我在Word 2007中创建了两个文档。两个都是空表。一个选中了“标题”选项。我无法确定切换标题的两个文档之间有什么不同。

我唯一可以发现的是w:tblLook元素上的w:val属性。在标题开关打开的情况下,文档设置为04A0。如果没有勾选“标题”选项,则此值为0480。

文档说明w:val的有效值为:

0×0020  Apply first row conditional formatting
0×0040  Apply last row conditional formatting
0×0080  Apply first column conditional formatting
0×0100  Apply last column conditional formatting
0×0200  Do not apply row banding conditional formatting
0×0400  Do not apply column banding conditional formatting

因此,这个数字似乎表明在位掩码中设置了32,128和1024。

这意味着设置了以下内容:

0×0400  Do not apply column banding conditional formatting
0×0080  Apply first column conditional formatting
0×0020  Apply first row conditional formatting

鉴于0x0400和0x0080似乎无关紧要,这是关键吗?:

0×0020  Apply first row conditional formatting

1 个答案:

答案 0 :(得分:3)

是的,0x0020(应用第一行条件格式)是 “标题”选项的关键。

w:val元素的w:tblLook属性是所谓的 过渡迁移功能,只应在文档中使用 过渡一致性类( MS Word 2007 生成此类文档)。

请参阅 ECMA Office Open XML第4部分 - 过渡迁移功能规范

了解更多信息。 第14.3.11段描述了w:val的addtional属性(w:tblLook)。 您可以在此处下载规范ECMA。使用ECMA-376第4版第4部分链接。

在新版本的Microsoft Office(> 2007)中,仅使用w:val属性 为了向后兼容。有一个名为w:firstRow="1"的新属性 0x0020值(第一行条件格式)。请参阅以下链接MSDN以获取有关w:firstRow属性的更多信息。

如果您将 MS Word 2007 文档与 MS Word 2010/2013 文档进行比较,您会注意到 MS Word 2007 仅使用w:val属性,而 MS Word 2010/2013 使用w:val和 属性w:firstColumn, w:firstRow, w:lastRow, lastColumn, w:noHBand, w:noVBand

如果您在“严格打开XML文档”模式中保存word文档( MS Word 2013 ),则w:val属性将转换为 w:firstColumn, w:firstRow, w:lastRow, lastColumn, w:noHBand and w:noVBand属性(因为新的严格文档不应使用w:val)。