CftClub.ru
Клуб специалистов ЦФТ-Банк

Диаграммы в отчетах экселя

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
beginer
Участник


Вступление в Клуб: 01.02.2021
СообщениеЧт Окт 21, 2021 13:46   Диаграммы в отчетах экселя Ответить с цитатой
Полезность: Нет оценки
Добрый день!

Скажите, плиз, возможно ли использование диаграмм в отчетах экселя?

У меня шаблон с диаграммой нормально подгружается в справочник шаблонов, нормально оттуда открывается (Справочник шаблонов документов - открыть шаблон.)

Но при выполнении моей операции отчета при открытии файла получаю запрос на восстановление документа, сообщение о нечитаемом содержимом, удален компонент /xl/drawing1.xml. (Рисованная фигура). Все остальная информация в табличку нормально запихивается.

Код операции:

Код:

pragma macro(xl,'::[OOXML].[API_XL]');
pragma macro(lp,'::[SHABLON_DOC].[LIB_OOXML]');

...
   &lp.xl_init('Мой_шаблончик'...
   &xl.Cell(...
...
   &lp.xl_finish(p_description == '['||&METHOD$CLASS||'] "'||&METHOD$NAME||'"');         


Офис 2013

PS Как по-человечески вставлять здесь куски кода?
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеПн Окт 25, 2021 15:26   Re: Диаграммы в отчетах экселя Ответить с цитатой
Полезность: Нет оценки
Цитата:
Добрый день!

Скажите, плиз, возможно ли использование диаграмм в отчетах экселя?

У меня шаблон с диаграммой нормально подгружается в справочник шаблонов, нормально оттуда открывается (Справочник шаблонов документов - открыть шаблон.)

Но при выполнении моей операции отчета при открытии файла получаю запрос на восстановление документа, сообщение о нечитаемом содержимом, удален компонент /xl/drawing1.xml. (Рисованная фигура). Все остальная информация в табличку нормально запихивается.

Код операции:

Код:

pragma macro(xl,'::[OOXML].[API_XL]');
pragma macro(lp,'::[SHABLON_DOC].[LIB_OOXML]');

...
   &lp.xl_init('Мой_шаблончик'...
   &xl.Cell(...
...
   &lp.xl_finish(p_description == '['||&METHOD$CLASS||'] "'||&METHOD$NAME||'"');         


Офис 2013

PS Как по-человечески вставлять здесь куски кода?

Пакет OOXML предназначен для Open Office.
Я не уверена, что в нём возможны диаграммы.
Может быть, попробовать, как раньше, через пакет EXCEL ?
kai
Профи


Вступление в Клуб: 16.08.2012
СообщениеПн Ноя 08, 2021 11:03   Re: Диаграммы в отчетах экселя Ответить с цитатой
Полезность: Нет оценки
Здравствуйте!

Эмиралька пишет:
Пакет OOXML предназначен для Open Office.


Пакет OOXML предназначен не для Open Office, а для работы с шаблонами, имеющими формат Open XML.
При этом на данный момент разработанные библиотеки: API_XL, API_DOC_SAX и API_DOC_AUTOTAG умеют работать только с файлами Microsoft Office.
"Родной"формат Microsoft Office - это Office Open XML - именно это аббревиатура OOXML и означает.

XML
Open XML
Office Open XML
и Open Office

это вообще 4 разных понятия.


Эмиралька пишет:
Я не уверена, что в нём возможны диаграммы.

Принцип работы API_XL - сначала парс шаблона (в PL/SQL структуры), потом обогащение данными и сборка файла-результата.

Парсится только то, что захардкодено - все неизвестные XML конструкции теряются.
Диаграммы не входят в список известных конструкций библиотеки и поэтому не читаются.

Эмиралька пишет:
Может быть, попробовать, как раньше, через пакет EXCEL?

Да, пока так.
kai
Профи


Вступление в Клуб: 16.08.2012
СообщениеПн Ноя 08, 2021 15:35   Re: Диаграммы в отчетах экселя Ответить с цитатой
Полезность: Нет оценки
beginer,

beginer пишет:
PS Как по-человечески вставлять здесь куски кода?


А это встраивать XML блоки внутрь отсутствующего на момент работы операции файла xl/sheet1.xml?
Или проигрывать VB script и для этого вызвать Microsoft Office VBA?

1-ое не пойдёт потому что не понятно, что делать.
2-ое уже реализовано в RUNTIME::EXCEL.

Примеры есть в справочнике ::[OOXML_XL_SAMPLE] здесь

(для word - в ::[OOXML_WD_SAMPLE])
beginer
Участник


Вступление в Клуб: 01.02.2021
СообщениеЧт Дек 09, 2021 18:52    Ответить с цитатой
Полезность: Нет оценки
Еще вопрос по экселю, если можно...
Никак не могу задать тип ячейки (денежный, 2 знака...)
Пробовал так:
&xl.cell(xxx, xxx, THE_NUMBER, p_numFmtId==&xl.get_numFmt('# ### ### ### ### ##0.00')

почему-то не прокатывает...
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Дек 10, 2021 10:46    Ответить с цитатой
Полезность: Нет оценки
Excel числа длинной > 15 некорректно показывает
beginer
Участник


Вступление в Клуб: 01.02.2021
СообщениеПт Дек 10, 2021 11:40    Ответить с цитатой
Полезность: Нет оценки
черт с ней, с корректностью Smile
тип ячейки в экселе не меняется. Все равно показывает "общий"
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Дек 10, 2021 11:53    Ответить с цитатой
Полезность: Нет оценки
А что в самом файле xml? Какое число?
Совпадает разделитель с системным?
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru