Excel电子表格与XML

我使用XML方法为报表创buildExcel电子表格,您可以在其中导出有效的Microsoft格式的XML,然后将其导出到Excel。

到目前为止,所有的东西都是应该的,但是我在颜色方面遇到了一些麻烦。

我创build了一个样式,如:

<Style ss:ID="s64" ss:Parent="s25"> <Font ss:FontName="Tahoma" x:Family="Swiss" ss:Size="14" ss:Color="#4579B9" ss:Bold="1"/> <Interior/> </Style> 

它应该使用的颜色,应该看起来像但在这个图像的顶部:

替代文字http://img535.imageshack.us/img535/431/righty.jpg

但是,它使用底部的颜色。

当我生成报告时,它生成的颜色代码是#4579B9,这是我想要的,但是当我打开它时,它显示的颜色是从图像底部的颜色。

如果我然后保存文档,它会自动将颜色更改为#666699,这正是底部的颜色(错误的颜色)。

然而,这只会发生在字体颜色,就像我改变任何单元格的背景颜色为#4579B9,它将正常工作。

我认为这与select的颜色是“主题颜色”的一部分而不是“标准颜色”有关。

有没有人有任何经验产生这种报告,并正确地应用样式? 还是我错过了什么?

我相信你正在使用Excel 2007,因为你使用的颜色和你提到的主题。 以下颜色信息适用于Excel 2003,这是我使用SpreadsheetXML(XMLSS)的唯一版本。

Excel 2003只支持有限数量的颜色。 由于指定的颜色不是调色板的一部分,因此使用最接近的匹配颜色。 你需要做的是指定一个不同的调色板或匹配你的颜色的默认颜色之一。

以下是定义工作簿的调色板的示例。 我把索引1的颜色(通常是白色)降低到较浅的白色(255,253,253)。

  <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"> <RelyOnVML/> <AllowPNG/> <Colors> <Color> <Index>1</Index> <RGB>#FFFDFD</RGB> </Color> </Colors> </OfficeDocumentSettings>