2010-03-04 100 views
3

我使用XML方法創建Excel電子表格,您可以在其中導出有效的Microsoft格式的XML,然後將其導出到Excel。使用XML的Excel電子表格

到目前爲止,所有的東西都能正常工作,但我在顏色方面遇到了一些麻煩。

我創建一個類,如:

<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> 

它應該使用的顏色,應該類似於但在這個圖像的頂部:

alt text http://img535.imageshack.us/img535/431/righty.jpg

然而,它使用底部的顏色。

當我生成報告時,它生成的顏色代碼爲#4579B9,這是我想要的,但是當我打開它時,它將顯示顏色作爲圖像底部的顏色。

如果我然後保存文檔,它會自動將顏色更改爲#666699,這正是底部顏色(錯誤的顏色)。

但是,這隻會發生在字體顏色,好像我改變任何單元格的背景顏色爲#4579B9,它將正常工作。

我在想這與選擇的顏色有關,它是「主題顏色」的一部分,而不是「標準顏色」。

有沒有人在這裏有任何經驗生成這些類型的報告,並正確地應用樣式?或者我錯過了什麼?

+0

建議將xml更改爲xmlss。 – AMissico 2010-03-10 23:28:16

回答

4

我相信你使用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> 
+0

請解釋反對票。這是一個被接受的答案,是這個問題的唯一答案。因此,提供評論將有所幫助。 – AMissico 2010-03-17 04:45:55