powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / EXCEL в XML-тегах
2 сообщений из 2, страница 1 из 1
EXCEL в XML-тегах
    #33649123
cos2kkds0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо формировать XML-файл, который будет открываться в Excel. Файл надо создавать с учетом схемы Excel.
Если кто-то встречал такие компаненты, или писал похожееее... помагите!!!
...
Рейтинг: 0 / 0
EXCEL в XML-тегах
    #33650144
Понимаю, что ответ типа читай доку - не ответ, но все таки.. Если версия Office 9 или старше, то надо заполнить таблицу (лист) Excel простыми данными и сохранить как XML-документ. Там структура несложная. По образу и подобию можно гененить Excel/XML-файл
Вот ссылка на справочник по элементам spreadsheet MSDN (en) и еще одна ссылка MSDN (en)
Но есть другой вариант.
Для отображения данных из БД (MSSQL) мы применяли следующую схему работы - выгружали данные Select'ом в виде XML (FOR XML EXPLICIT), затем применяли XSLT шаблон для преобразования в SpreadSheet, и открывали в браузере поток как Excel. Все получалось замечательно.
Пример XSLT

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:o="urn:schemas-microsoft-com:office:office" 
  xmlns:x="urn:schemas-microsoft-com:office:excel"
  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
  <xsl:template match="/">
    <xsl:processing-instruction name="mso-application">
      <xsl:text>progid="Excel.Sheet"</xsl:text>
    </xsl:processing-instruction>
    <Workbook>
      <Styles>
        <Style ss:ID="Default" ss:Name="Normal">
          <Alignment ss:Vertical="Bottom" />
          <Borders />
          <Font />
          <Interior />
          <NumberFormat />
          <Protection />
        </Style>
	<Style ss:ID="s21"><Interior ss:Color="#CE9AFF" ss:Pattern="Solid"/></Style>
	<Style ss:ID="s22"><NumberFormat ss:Format="Short Date"/></Style>
	<Style ss:ID="s23">
		<Borders>
			<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
			<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
			<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
			<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
		</Borders>
	</Style>
  	<Style ss:ID="s26">
		<Interior ss:Color="#31CFCE" ss:Pattern="Solid"/>
   		<Font ss:FontName="Verdana" x:CharSet="204" ss:Bold="1"/>
  	</Style>

      </Styles>
      <Worksheet ss:Name="Sheet 1">
        <Table x:FullColumns="1" ss:ExpandedColumnCount="18">
          <Row>
          </Row>
          <Row>
	<xsl:for-each select="//Worksheet/@*">
            <Cell ss:StyleID="s26">
              <Data ss:Type="String"><xsl:value-of select="."/></Data>
            </Cell>
	</xsl:for-each>

          </Row>
          <xsl:apply-templates select="//Worksheet/Row"/>
        </Table>
      </Worksheet>
    </Workbook>
  </xsl:template>
  <xsl:template match="//Worksheet/Row">
	<xsl:if test="Data">
    <Row ss:StyleID="s21">
      <Cell><Data ss:Type="String"><xsl:value-of select="@PlacesName"/></Data></Cell>
    </Row>
	</xsl:if>
	<xsl:for-each select="Data">
' Основная обработка данных
	</xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Вот кусочек ASP.old кода, которым мы выводил 6000 записей в excel за несколько секунд (!!!)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	cmd.CommandText = sSQL
	cmd.Properties("Output Stream") = Response
	cmd.Properties("xml root") = "root"
	cmd.Properties("XSL") = "C:\Inetpub\wwwroot\oth_dog.xsl"
	cmd.Properties("Output Encoding") = "Windows-1251"
	cmd.Execute ,,adExecuteStream
	Response.Flush

С уважением,
Измайлов Ф.В.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / EXCEL в XML-тегах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]