#excel #templates #xslt #transform
#excel #шаблоны #xslt #преобразование
Вопрос:
Я использую преобразование xsl для получения XML-данных и создания XML-файла, который может быть прочитан Excel. Я изначально создал файл шаблона xls и файл Excel, на который я хотел, чтобы мои данные выглядели так. В некоторых ячейках пользователи используют Alt Enter для новых строк в ячейке, и я хочу иметь возможность делать это в преобразовании.
Итак, у меня есть в части моего файла данных шаблона несколько записей, подобных этой:
<Code>28890amp;#10;amp;#10;amp;#10;12345</Code>
В файле шаблона я делаю это:
<Cell><Data ss:Type="String"><xsl:value-of select="Code"/></Data></Cell>
Но когда я выполняю преобразование в xml, результирующий документ при открытии в Excel не распознает alt enter, поэтому ячейки не содержат нескольких строк.
Любая помощь была бы весьма признательна, я новичок в этом, поэтому, если есть лучший способ, я хотел бы знать.
Спасибо
Комментарии:
1. Это не преобразование XSLT, которое не распознает amp; # 10; — это Excel. Пожалуйста, измените вводящее в заблуждение название вопроса на что-то правильное. Эта проблема означает, что Excell использует особый способ (скорее всего, специальный элемент) для обозначения новой строки. Вы должны выяснить, что это за особый способ, чтобы затем вы могли заставить свое преобразование выдавать соответствующий результат.
Ответ №1:
Я отклонил ответ, и это преобразование xslt. Я изменил это:
<Cell><Data ss:Type="String"><xsl:value-of select="Code"/></Data></Cell>
К этому:
<Cell><Data ss:Type="String"><xsl:value-of disable-output-escaping="yes" select="Code"/></Data></Cell>
и мои данные, чтобы использовать следующие для клавиши alt enter:
amp;amp;#10;
Теперь просто нужно выяснить, как заставить ячейку автоматически расширяться.
Ответ №2:
Что касается автоматического расширения, просто нужно было добавить стиль в ячейку, который вызывает перенос слов:
<Style ss:ID="CPTCodeStyle">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" **ss:WrapText="1"**/>
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Size="12" ss:Bold="1"/>
<NumberFormat ss:Format="@"/>
</Style>