2013-09-26 87 views
0

我需要輸出一個表格,每個單元格將根據值具有不同的背景顏色。範圍可能是0-25這樣的東西會有紅色背景,26-50橙色,51-75黃色和76-100綠色。opentbs如何更新標籤?

我的模板是一個Word文檔,如果我的單元格顏色設置爲紅色,然後看看XML,我得到以下幾點:

<w:tcPr> 
    <w:tcW w:w="3081" w:type="dxa"/> 
    <w:shd w:val="clear" w:fill="FF0000" w:color="auto"/> 
</w:tcPr> 
<w:p w:rsidR="0092058F" w:rsidRDefault="0057272B" w:rsidP="007D2CAD"> 
    <w:pPr> 
    <w:jc w:val="right"/> 
    </w:pPr> 
    <w:r w:rsidRPr="0057272B"> 
    <w:t>[onload;att=w:shd#w:fill=[x.bgcolour]][x.m1]</w:t> 
    </w:r> 
</w:p> 

正如你可以看到我想要更新w的值:用存儲在x.bgcolour中的值填充。在合併時,我得到一個腐敗的文件。當我看着合併的xml時,它看起來像這樣(其中x.bgcolour的值是00ff30)。

<w:shd w:val="clear" w:color="auto" w:fill="FF0000" w:fill=00ff30=""/> 

原始填充顏色仍然存在(FF0000),並且新值不在引號內。我覺得我已經接近正確了。我需要做些什麼來完成這項工作?謝謝!

回答

2

根據您的代碼段,[onload] TBS字段將被移動到實體w:shd和名爲w:fill=[x.bgcolour]的屬性中。這是錯誤的。

你需要的僅僅是移動TBS字段[x.bgcolour]。

<w:tcPr> 
    <w:tcW w:w="3081" w:type="dxa"/> 
    <w:shd w:val="clear" w:fill="FF0000" w:color="auto"/> 
</w:tcPr> 
<w:p w:rsidR="0092058F" w:rsidRDefault="0057272B" w:rsidP="007D2CAD"> 
    <w:pPr> 
    <w:jc w:val="right"/> 
    </w:pPr> 
    <w:r w:rsidRPr="0057272B"> 
    <w:t>[x.bgcolour;att=w:shd#w:fill][x.m1]</w:t> 
    </w:r> 
</w:p> 

它可以像這樣做