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>