<color indexed =“81”>是什么意思?</color>

时间:2013-02-05 15:11:41

标签: colors standards openxml spreadsheet ecma

我有一个由Excel 2007创建的文档:

<fileVersion appName="xl" lastEdited="4" lowestEdited="4" rupBuild="4506" codeName="{B7FE6334-C1A2-E50D-BD3D-5F4D41BBC2E3}"/>

...在xl/styles.xml中的字体定义中包含以下颜色:

<color indexed="81"/>

我从ECMA标准中了解到,如果有这样的集合,这个颜色索引引用<indexedColors>中的xl/styles.xml集合,否则它指的是标准中显示的默认调色板。我的问题是这个文档不包含<indexedColors>元素,默认调色板只有66个条目,所以我不知道81指的是什么。还有其他人吗?

有趣的是,谷歌搜索color indexed="81"会返回包含相同内容的一些示例OpenXML片段,但不能解释。

3 个答案:

答案 0 :(得分:0)

MSDN Documentation在OpenXML中指定类indexed的{​​{1}}属性:

Color

它是较大的DocumentFormat.OpenXml.Spreadsheet命名空间的一部分。

您所描述的文件是通过包含81值的源代码构建的。它可能看起来像这个Java code,用不相关的颜色索引定义一个81U的Color()实例。

如果您需要找出原因,我会在MSDN上创建一个帐户并回复Jack9999的帖子,询问他为何使用该值。我猜这是他的一个错误,熟悉一个单独的,可能与JAVA相关的颜色索引。

Excel - 无法识别它 - 只是使用它们的默认注释颜色值。

干杯

答案 1 :(得分:0)

索引0x51是系统工具提示文本颜色。 (即:: GetSysColor(COLOR_INFOTEXT))。

答案 2 :(得分:0)

NECRO回答: 来自Vincent Tan的 SpreadsheetOpenXmlFromScratch

  

对于颜色,如果您正在处理DocumentFormat.OpenXml.Color类,   有三种设置颜色值的方法:

     
      
  • 索引颜色
  •   
  • RGB颜色
  •   
  • 主题色
  •   
     

有一个名为Auto of the Color类的属性。我没有找到它的用途,你可以忽略它。如果您在任何情况下都没有设置它,Excel将不会阻止错误...

     

索引颜色是为了向后兼容,所以我不会教你如何。基本上它是存储在电子表格样式表中的颜色调色板的索引值。我们将在下一章讨论Stylesheet类。您可以自己探索IndexedColors类,它是Colors类的子类,而该类又是样式表的子类。