Для написания красивых отчетов в Excel (под OEBS) довольно часто используем XSL шаблон.
Для тестирования XSL шаблона есть несколько вариантов:
- Загружаем XSL в OEBS и запускаем отчет — самый долгий способ.
- Используем мощный редактор Altova XMLSpy, который позволяет накладывать XSL на XML (XSL-Transformation). Основной минус, то что продукт платный.
- Используем javascript скрипт представленный ниже.
-
В данных после
< ?xml version="1.0" encoding="UTF-8"?>
добавляем новый тег
< ?xml-stylesheet href="XXX.xsl" type="text/xsl"?>
, где XXX.xsl имя xslt преобразования. Затем открываем xml через Excel
var xmlFile = "data.xml"; // xml данные var xslFile = "tempalate.xsl"; // xsl шаблон var outFile = "REPORT.xls"; // имя генерируемого файла // var Xml = null; var Xsl = null; var objTransformer = null; function init() { Xml = new ActiveXObject("MSXML2.DOMDocument"); Xml.async = false; Xml.load(xmlFile); Xsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); Xsl.async = false; Xsl.load(xslFile); // запись в файл f = new ActiveXObject("ADODB.Stream"); f.Charset = "UTF-8"; f.Open(); f.WriteText(Xml.transformNode(Xsl)); f.SaveToFile(outFile,2); f.Close(); // запуск файла //var WshShell = new ActiveXObject("WScript.Shell"); //WshShell.Run(outFile); } init();
Для использования скрипта создаем файл с расширением «.js», например «GenerateReportXML-XSL.js». Указываем в скрипте название файлов для шаблона и данных. Запускаем скрипт на выполнение (Windows).
Подскажу 4 способ, самый простой:
В xml данных после
добавляем новый тег
где XXX.xsl имя xslt преобразования
Затем открываем xml файл экселем (правой клавишей на xml -> открыть как -> Выбираем эксель)
Хрень какая то с комментами, не работают кнопки форматирования в Chrome
В данных после
добавляем новый тег
где XXX.xsl имя xslt преобразования
Затем открываем xml файл экселем
@Sand
Спасибо, добавил 4 способ.
Я не понял, где необходимо разместить файл «XXX.xsl имя xslt преобразования» ? В шаблоне отчета???
@profik777
Надо добавить в xml данные для отчета.
Например: