2011-10-11 47 views
0

我正在使用xsl轉換來獲取xml數據並創建一個可由excel讀取的xml文件。我最初創建和xls模板文件和excel文件我想我的數據看起來像。在一些單元格中,用戶使用Alt Enter鍵輸入單元格中的新行,我希望能夠在變換中完成此操作。XSL轉換無法識別字符(10)excel

所以,我在我的模板數據文件的一部分,像這樣的一些條目:

<Code>28890&#10;&#10;&#10;12345</Code> 

在模板文件中,我這樣做:

<Cell><Data ss:Type="String"><xsl:value-of select="Code"/></Data></Cell> 

但是當我做了變換到XML,生成的文檔,當在Excel中打開時,無法識別ALT輸入,因此單元格沒有多行。

任何幫助將不勝感激,我是新來的,所以如果有更好的方式,我想知道。

謝謝

+0

這並不是說不能識別 XSLT轉換 - 這是Excel。請將問題的現在誤導性標題改爲正確的。這個問題意味着Excell使用了一種特殊的方式(很可能是一個特殊的元素來表示一個新的行,你必須找出這種特殊的方式,那麼你可以使你的轉換產生一致的輸出。 –

回答

0

我確實解答了答案,它是變換xslt。 我改變了這一點:

<Cell><Data ss:Type="String"><xsl:value-of select="Code"/></Data></Cell> 

要這樣:

<Cell><Data ss:Type="String"><xsl:value-of disable-output-escaping="yes" select="Code"/></Data></Cell> 

和我的數據使用下面的ALT + ENTER鍵:

&amp;#10; 

現在只需要弄清楚如何讓單元自動擴展。

0

至於自動展開,只是要一個樣式添加到強制換行的單元格:

<Style ss:ID="CPTCodeStyle"> 
     <Alignment ss:Horizontal="Center" ss:Vertical="Top" **ss:WrapText="1"**/> 
     <Font ss:FontName="Verdana" x:Family="Swiss" ss:Size="12" ss:Bold="1"/> 
     <NumberFormat ss:Format="@"/> 
    </Style>