我试图使用2003 XML功能“Cheese \ nBread”将以下字符串输出到Excel中的单元格,并且此时它会忽略换行符。
如果我创建一个具有所需效果的文件,那么我得到以下输出
<Cell ss:StyleID="s62"><Data ss:Type="String">Cheese Monkey</Data></Cell>
好的,所以我尝试做...
text.Replace('\n',(char)10);
或 text.Replace( “\ n”,” “);
无济于事,第一个没有用,第二个XmlWriter只是用&amp;这真的很有帮助。
任何想法,也许是.NET XmlWriter上的设置?
答案 0 :(得分:2)
我必须将以下内容添加到我的XML定义中(在“Workbook”元素中):
<Styles>
<Style ss:ID="sMultiLine">
<Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
</Style>
</Styles>
然后,在“Cell”元素中,添加适当的匹配样式:
<Cell ss:StyleID="sMultiLine">
我实际上添加了一个小的XSLT调整,以便只有在内容中检测到换行符时才显示该值:
<xsl:if test="contains(.,'#10;')">
<xsl:attribute name="ss:StyleID">sMultiLine</xsl:attribute>
</xsl:if>
答案 1 :(得分:1)
尝试在xml:space="preserve"
元素上设置Data
:
<Cell ss:StyleID="s62"><Data ss:Type="String" xml:space="preserve">Cheese
Monkey</Data></Cell>