ms excel 8
Download
Skip this Video
Download Presentation
Описание различных способов получения отчетов MS Excel в "ПАРУС - Предприятие 8"

Loading in 2 Seconds...

play fullscreen
1 / 42

Описание различных способов получения отчетов MS Excel в "ПАРУС - Предприятие 8" - PowerPoint PPT Presentation


  • 441 Views
  • Uploaded on

Описание различных способов получения отчетов MS Excel в "ПАРУС - Предприятие 8". Миндияров Илья Главный специалист Центра информационных технологий и консалтинга ПАРУС [email protected] Вопросы рассматриваемые в презентации.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Описание различных способов получения отчетов MS Excel в "ПАРУС - Предприятие 8"' - tavon


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ms excel 8
Описание различных способов полученияотчетов MS Excel в "ПАРУС - Предприятие 8"

Миндияров Илья

Главный специалист

Центра информационных технологий и консалтинга ПАРУС

[email protected]

slide2
Вопросы рассматриваемые в презентации
  • Использование пользовательских приложений. Способы ускорения вывода данных в пользовательские приложения.
  • Способы формирования отчета в формате XML на стороне сервера (отчет с типом "Двоичные данные").
  • Способ ускорения формирования уже существующих отчетов MS Excel.
slide3
Использование пользовательских приложений.

Использования переменных vararray

Плюсы – минимальные переделки.

Минусы – незначительное ускорение работы

slide4
Использование пользовательских приложений.

Метод дает хорошие результаты при выводе большого кол-ва столбцов

slide5
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

Минусы – сложно писать, сложно сопровождать

Плюсы – очень быстро работает, не нужно полностью перерабатывать пользовательское приложение.

Пишем процедуру на PL/SQL следующим образом – большие статичные блоки кода на VB описываем функциями, которые возвращают clob

slide6
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

Затем такие функции будем добавлять в программу следующим образом.

Где С,С1,С2 - clob

slide7
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

Пишем программу так, чтобы все данные из запроса попали в текст программы VB

slide8
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

ВАЖНО! Размер одной процедуры на VBA не может превышать 64 Кб.

Я разбивал процедуры по 500 записей

slide9
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

Запишем все Clob’ы в один.

Преобразуем Clob в Blob

slide10
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

Преобразование Clob в Blob нужно если у вас кодировка БД отлична от CP-1251.

slide11
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

В пользовательском приложении пишем следующий код.

slide12
Использование пользовательских приложений.

Написание программы на Visual Basic использую PL/SQL

Чтобы такой код работал необходимо разрешение

“Доверять доступ к объектной модели проектов VBA”

slide13
Отчеты с типом “Двоичные данные”

Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента

Плюсы –быстроработает

Минусы – сложно описывать форматирование

slide14
Отчеты с типом “Двоичные данные”

Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента

Форматирование можно описать либо в тексте процедуры отчета, либо загрузить и обработать любой clob/blob из штатного раздела (шаблоны документов, пользовательские приложения)

slide15
Отчеты с типом “Двоичные данные”

Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента

Значение ‘NULL’ для поля RUN_CMD означает, что файл необходимо сохранить в каталоге %TEMP%, но НЕ вызывать никакую команду ОС

Данная возможность появилась в релизе 8.5.6.1 от 25.06.2013.

slide16
Отчеты с типом “Двоичные данные”

Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента

slide17
Отчеты с типом “Двоичные данные”

Второй способ – на PL/SQL сгенерировать HTML, а затем HTML открыть в MS Excel.

Плюсы – просто и быстро

Минусы – нет формул, отформатированные числа являются строками, сложно сделать отчет на несколько листов.

slide18
Отчеты с типом “Двоичные данные”

Второй способ – на PL/SQL сгенерировать HTML, а затем HTML открыть в MS Excel.

slide19
Отчеты с типом “Двоичные данные”

Второй способ – на PL/SQL сгенерировать HTML, а затем HTML открыть в MS Excel.

Данная возможность появилась в релизе 8.5.6.1 от 25.06.2013.

slide20
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

Плюсы – быстрее невозможно

Минусы – очень трудно исправлять печатную форму отчета

1 шаг

Подготовить книгу Excel.

Важно сразу хорошо подготовить все стили – затем это будет сложно исправить

slide21
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

2 шаг

Сохранить книгу в формате XML.

Открыть книгу в XML-редакторе

slide22
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

3 шаг

Скопировать всю книгу в функцию, которая возвращает Clob

slide23
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

4 шаг

Удаляем атрибуты ss:ExpandedColumnCount ss:ExpandedRowCount в тэге Table

Заменяем значение 2013-01-01 на переменную

slide24
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

4 шаг

Результат

slide25
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

5 шаг

Вырезаем в текстовый редактор тэг Row с данными

slide26
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

6 шаг

Вырезаем в новую функцию весь xml, который идет после тэга Row, где описан заголовок таблицы

slide27
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

7 шаг

Проверим работу отчета

следующим образом

slide28
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

7 шаг

Результатом должна быть таблица без данных

slide29
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

7 шаг

Если что-то сделали не так, то появится подобное окно. Внимательно прочитайте указанный файл отчета, для исправления ошибки. Или выполните действия заново начиная с шага 2.

slide30
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

8 шаг

Проверим, что корректно формируется таблица

slide31
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

8 шаг

Результат

slide32
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

9 шаг

Подставляем поля курсора

slide33
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

Результат

slide34
Отчеты с типом “Двоичные данные”

Третий способ – на PL/SQL напрямуюсгенерировать MS Excel.

Сложности: Если в тэге Row с данными (либо в строках после отчета) встречается атрибут ss:Index, то необходимо в пустых строках добавить пробелы в любую ячейку, чтобы избавиться от ss:Index.

x:FullRows="1">

text

ms excel
Ускорение существующих отчетов MS Excel

Силами ЦИТК Парус разработан пакет PL/SQL, который по данным, сгенерированным штатным пакетом PRSG_EXCEL, создает XML формата OfficeML на сервере.

Ограниченияпакета:

Никогда не будет реализован PRSG_EXCEL.EXECUTE_MACROS.

Пока ТОЛЬКО реализованы методы PRSG_EXCEL.LINE_APPENDPRSG_EXCEL.LINE_CONTINUEPRSG_EXCEL.LINE_DELETEPRSG_EXCEL.CELL_VALUE_WRITE.

Пока не умеет работать с шаблонами в которых встречается тэг Row с атрибутом ss:Index.

ms excel1
Ускорение существующих отчетов MS Excel

Пример использования

Создать процедуру для двоичного отчета в которой вызвать процедуру существующего отчета MS Excel

ms excel2
Ускорение существующих отчетов MS Excel

Пример использования

Вызвать UDO_PKG_MSEXEL.PROCESS

Входной параметр – шаблон существующего отчета сохраненный в формате XML

Выходной параметр – готовый отчет MS Excel.

ms excel3
Ускорение существующих отчетов MS Excel

Пример использования

Результат

ms excel4
Ускорение существующих отчетов MS Excel

Сложность:

Когда сохраните шаблон в XML в текстовом редакторе необходимо проверить, что нет текста Row ss:Index. Если такой текст встретился добавьте в пустые строки пробелы в первую ячейку.

ms excel5
Ускорение существующих отчетов MS Excel

На существующих отчетахприрост производительности увеличивался в 9-10 раз.

ms excel6
Ускорение существующих отчетов MS Excel

Вопрос

Нужно ли дорабатывать UDO_PKG_MSEXELдо полного соответствия с методами PRSG_EXCEL?

ad