Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XML и EXCEL,XSL 
:(
    Опции темы
guergik
Дата 20.7.2006, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Мне нужно создать EXCEL-документ из XML с верхней и левой шапкой.
В XML содержатся только данные.
Вот пример XML:
<source>

<number>253</number> 
<number>sd12</number> 
<number>-64</number> 
<number>2.25.25</number> 
<number>2.25</number> 

</source> 

Как сделать XSL-преобразование, чтобы вывести шапку а потом данные?
[email protected] 
PM MAIL   Вверх
Bikutoru
Дата 21.7.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 2
Всего: 22



Например так:
Код

<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/source">
  <table>
   <tr>
    <th>Заголовок №1</th><th>Заголовок №2</th>
   </tr>
  <xsl:for-each select="number">
    <tr>
      <td>-</td>
      <td><xsl:value-of select="." /></td>
     </tr>
  </xsl:for-each>
  </table>
</xsl:template>

</xsl:stylesheet>
 


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
guergik
Дата 21.7.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Дело в том, что боковая шапка содержит где-то объединения ячеек.
Я хотела бы вывести сначала построчно боковую шапку, а потом  циклом дописать в ячейки построчно данные. Такое желание осуществимо?

Добавлено @ 15:42 
Я делаю так:

<xsl:template match="/">
   <Row>
    <Cell><Data ss:Type="String">vsgdsafdasf<Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">fdf<Data></Cell>
   </Row>
   <Row>    
   <Row ss:Index="7" ss:AutoFitHeight="0" ss:Height="66.75">
    <Cell ss:MergeAcross="2" ss:MergeDown="1" ss:StyleID="s41"><Data   ss:Type="String">&Iuml;&agrave;&eth;&ecirc;</Data></Cell>
    <Cell ss:MergeDown="1" ss:StyleID="s41"/>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&Iuml;&agrave;&ntilde;&agrave;&aelig;&egrave;&eth;&ntilde;&uuml; &ecirc;&egrave;&eacute; &eth;&oacute;&otilde;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&Oacute; &ograve;.&divide;. &iuml;&eth;&egrave;&igrave;&sup3;&ntilde;&uuml; &ecirc;&egrave;&eacute;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&Acirc;&agrave;&iacute;&ograve;. &eth;&oacute;&otilde;, &acirc;&ecirc;&euml;.&iuml;&aring;&eth;&aring;&auml;. &sup3; &acirc;&egrave;&acirc;&sup3;&ccedil;&iacute;&egrave; &iuml;&icirc;&iquest;&ccedil;&auml;&egrave;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&Acirc;&agrave;&iacute;&ograve;&agrave;&aelig;&iacute;&egrave;&eacute; &eth;&oacute;&otilde; &aacute;&aring;&ccedil; &iuml;&aring;&eth;&aring;&auml;. &sup3; &acirc;&egrave;&acirc;&sup3;&ccedil;&iacute;&egrave;&otilde; &iuml;&icirc;&iquest;&ccedil;&auml;&sup3;&acirc;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&Ccedil; &icirc;&auml;&egrave;&iacute;&icirc;&divide; &iacute;&egrave;&igrave;&egrave; &euml;&icirc;&ecirc;&icirc;&igrave;&icirc;&ograve;&egrave; &acirc;&agrave;&igrave;&egrave;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&ETH;&agrave;&ccedil;&icirc;&igrave; &acirc; &iuml;&icirc;&iquest;&ccedil;&auml;&agrave;&otilde; &iuml;&agrave;&ntilde;&agrave;&aelig;-&atilde;&icirc; &sup3; &acirc;&agrave;&iacute;&ograve;&agrave;&aelig;. &eth;&oacute;&otilde;&oacute;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&Atilde;&icirc;&ntilde;&iuml;&icirc;&auml;&agrave;&eth;&divide;&egrave;&eacute; &eth;&oacute;&otilde;</Data></Cell>
    <Cell ss:StyleID="s41"><Data ss:Type="String">&ETH;&agrave;&ccedil;&icirc;&igrave; &iuml;&icirc; &acirc;&ntilde;&sup3;&otilde; &acirc;&egrave;&auml;&agrave;&otilde; &eth;&oacute;&otilde;&oacute;</Data></Cell>
   </Row>
   <Row>
    <Cell ss:Index="5" ss:StyleID="s50"><Data ss:Type="Number">401</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">402</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">403</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">404</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">405</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">406</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">407</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">408</Data></Cell>
   </Row>
   <Row>
    <Cell ss:MergeAcross="1" ss:MergeDown="4" ss:StyleID="s59"><Data   ss:Type="String">&Iuml;&agrave;&ntilde;&agrave;&aelig;&egrave;&eth;&ntilde;&uuml; &ecirc;&egrave;&eacute; &iuml;&agrave;&eth;&ecirc;</Data></Cell>
    <Cell ss:StyleID="s95"><Data ss:Type="String">&iuml;&agrave;&ntilde;&agrave;&aelig;&egrave;&eth;&ntilde;&uuml;&ecirc;&sup3;</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">1</Data></Cell>
    </Row>
   <Row>
    <Cell ss:Index="3" ss:StyleID="s95"><Data ss:Type="String">&iuml;&icirc;&oslash;&ograve;&icirc;&acirc;&sup3;</Data></Cell>
    <Cell ss:StyleID="s50"><Data ss:Type="Number">2</Data></Cell>
   </Row>
   
<xsl:for-each select="//source/number">
   <Row ss:Index="{position()+8}">
    <Cell ss:Index="5" ss:StyleID="s50"><Data ss:Type="String"><xsl:value-of select="."/></Data></Cell>
   </Row>
</xsl:for-each>
</xsl:template>


МНе надо <xsl:for-each select="//source/number">
   <Row ss:Index="{position()+8}">
, а не работает;( 
PM MAIL   Вверх
guergik
Дата 21.7.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Сори,  надо <xsl:for-each select="//source/number">
   <Row ss:Index="{position()+5}">, а не работает;(  
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0412 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.