Excel读取时电子表格ML中的换行符

时间:2012-11-07 11:52:32

标签: xslt spreadsheetml

我正在尝试编写一个XSLT来生成一个电子表格ML,以便Excel进一步阅读并遇到换行问题。我需要为单元格数据添加换行符。我在Excel中制作了一个样本来检查换行符的Excel概念并获得以下内容:

<Data>abc&#10;def</Data>

此处&#10;引用是换行符,Excel在读取文件时理解它就好了。我试着用XSLT生成相同的东西,但是,我自然会得到一个真正的0x0A(LF)字符,所以我的XML看起来如此:

<Data>abc
def</Data

这似乎不同意Excel表示换行符的方式,当我在Excel中打开文件时,我没有换行。

我试图研究这个问题,但除了following short discussion之外什么都没有,它没有真正提供解决方案,并暗示它可能是Excel中的一个错误。 (更新:据我所知,这就是规范所谓的“编码事故”和XML解析器一定不能依赖它们,而Excel会这样做。)

有没有办法以某种方式解决这个问题并在输出中获得文字&#10;而不是LF字符?或者以其他方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

是的,Excel有自己的方法来区分LF字符和字符引用&#10;到该字符。

我认为使用XSLT 1.0,如果你想强制一个字符引用,那么做<xsl:text disable-output-escaping="yes"><![CDATA[&#10;]]></xsl:text>是蛮力的方式。