将XSLT数字单元格输出修改为string

我正在使用XSLT模板将FileMaker的某些输出转换并格式化为Excel。 它适用于除一列之外的所有人。 数据是数字,但必须以NN.NN格式输出为string。 数据字段的input方式如04.13,但输出到Excel时,显示为4.13。 在某些情况下,用户input04 13(正确的outout正确,因为它不能被parsing为一个数字),但用户已经正确地input数据到filemaker(该字段是文本),即04.13,我需要确保输出数据保持正确的格式。
我已经尝试了以下,但它似乎没有像预期的那样工作 – 输出文件仍然显示列值作为数字,即失去了前导零:

<xsl:choose> <xsl:when test="$xlFieldName='d_Oracle_Task_Code'"> <xsl:variable name="OracleTaskCode" select="fmp:DATA" /> <xsl:value-of select='format-number(OracleTaskCode, "00.00")' /> </xsl:when> </xsl:choose> 

我不担心input缺less小数点分隔符的情况,只能确保将值输出为文本。

尝试定义一个variables为:

 <xsl:variable name="apos">'</xsl:variable> 

然后使用:

 <xsl:value-of select="concat($apos, format-number(OracleTaskCode, '00.00'))" /> 

值得尝试的另一个select是将单元格内容定义为数据typesstring

 <Data ss:Type="String"> .... </Data> 

恐怕我也没办法testing。

我的问题是我检查的顺序。 我不能让XSLT应用格式或附加撇号,直到​​我在我的select块中阻止第一个时。

 <Style ss:ID="xlTextStyle"> <NumberFormat ss:Format="@"/> </Style> <xsl:choose> <xsl:when test="$xlFieldName='d_Scheme_Task_Code'"> <xsl:attribute name="ss:StyleID">xlTextStyle</xsl:attribute> <Data> <xsl:attribute name="ss:Type">String</xsl:attribute> <xsl:value-of select="." /> </Data> </xsl:when> <xsl:when test="$xlFieldType='NUMBER'"> <xsl:choose> <xsl:when test... 

我现在正在使用文本格式正确格式化列值。