XSL转换无法识别excel的char(10)

时间:2011-10-11 21:09:10

标签: excel templates xslt transform

我正在使用xsl转换来获取xml数据并创建一个可由excel读取的xml文件。我最初创建和xls模板文件和excel文件我希望我的数据看起来像。在某些单元格中,用户对单元格中的新行使用Alt Enter,我希望能够在变换中执行此操作。

所以,我在模板数据文件的一部分中有一些这样的条目:

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

在模板文件中,我这样做:

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

但是当我转换为xml时,生成的文档在excel中打开时,无法识别alt输入,因此单元格没有多行。

任何帮助都将不胜感激,我是新手,所以如果有更好的方式我想知道。

由于

2 个答案:

答案 0 :(得分: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;

现在只需要弄清楚如何让细胞自动扩展。

答案 1 :(得分: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>