XML-ленты в Excel в полях - PullRequest
0 голосов
/ 08 мая 2009

Я пытаюсь получить следующую строку для вывода в ячейку в Excel, используя возможности XML 2003 «Cheese \ nBread», и в данный момент она игнорирует разрыв строки.

Если я создаю файл с желаемым эффектом, я получаю следующий вывод

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

Хорошо, поэтому я пытаюсь сделать ...

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

или text.Replace ( "\ п",» «);

Безрезультатно, первый ничего не делает, а во втором XmlWriter просто экранирует его с &, что действительно полезно.

Есть идеи, может быть, настройка на .NET XmlWriter?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Мне нужно было добавить следующее в мое определение XML (в элементе «Рабочая книга»):

<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 голос
/ 08 мая 2009

Попробуйте установить xml:space="preserve" для элемента Data:

<Cell ss:StyleID="s62"><Data ss:Type="String" xml:space="preserve">Cheese
Monkey</Data></Cell>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...