Excel中的XML换行字段

我试图获得以下string输出到Excel中的单元格使用2003 XMLfunction“奶酪\ nBread”,目前它忽略换行符。

如果我创build一个具有所需效果的文件,那么我得到以下输出

<Cell ss:StyleID="s62"><Data ss:Type="String">Cheese
Monkey</Data></Cell> 

好吧,所以我试着做…

 text.Replace('\n',(char)10); 

或text.Replace(“\ n”,“”);

没有用,第一个没有用,第二个XmlWriter简单地用&来转义它,这真的很有帮助。

任何想法,也许在.NET XmlWriter的设置?

尝试在Data元素上设置xml:space="preserve"

 <Cell ss:StyleID="s62"><Data ss:Type="String" xml:space="preserve">Cheese Monkey</Data></Cell> 

我不得不将以下内容添加到我的XML定义(在“工作簿”元素中):

 <Styles> <Style ss:ID="sMultiLine"> <Alignment ss:Vertical="Bottom" ss:WrapText="1"/> </Style> </Styles> 

然后,在“单元”元素中添加适当的匹配样式:

 <Cell ss:StyleID="sMultiLine"> 

实际上,我添加了一个次要的XSLT调整,以便只在内容中检测到换行符时才显示值:

 <xsl:if test="contains(.,'#10;')"> <xsl:attribute name="ss:StyleID">sMultiLine</xsl:attribute> </xsl:if>