字段中的Excel XML换行符

时间:2009-05-08 07:30:40

标签: c# xml excel

我试图使用2003 XML功能“Cheese \ nBread”将以下字符串输出到Excel中的单元格,并且此时它会忽略换行符。

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

<Cell ss:StyleID="s62"><Data ss:Type="String">Cheese&#10;Monkey</Data></Cell>

好的,所以我尝试做...

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

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

无济于事,第一个没有用,第二个XmlWriter只是用&amp;这真的很有帮助。

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

2 个答案:

答案 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>