libxlsxwriter for Clarion

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Создание файлов Excel (xlsx) без использования Excel на основе проекта libxlsxwriter (https://libxlsxwriter.github.io). Можно создавать файлы, листы в них, писать данные (текст (в т.ч. русский), число, дата, время), ставить форматирование (цвет, рамки, шрифт, выравнивание, размер), объединять ячейки, фиксировать и скрывать строки и колонки, вставлять изображения, рисовать графики (диаграммы), устанавливать настройки печати и свойства документа.
Для конвертирования "картинок" форматов используется библиотека Tpicture от Taboga, у кого этого класса нет замените на что-то свое
Вложения
libxlsxwriter.zip
Версия 1.5 от 30.12.2021 на основе библиотеки 1.1.4
(276.26 КБ) 992 скачивания
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 14 Январь 2018, 23:50Крайний выложенный пример уже с графиками
Понял. LibXLSXWriter обновил. Всё OK, пример собрался и открылся без проблем.
Очень красиво ! :) Версия Microsoft Office у меня самая обычная ... Win10 x32, ну и такой же MSO:

avans.jpg
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Excel2016.PNG
Excel2016.PNG (1.08 КБ) 3084 просмотра
Этот открывает, поищу ваш релиз )
Было бы неплохо, если бы вы сами нашли, на каких функциях библиотека генерит неоткрываемый в вашей версии офиса файл. исходники же все есть
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Кстати не факт, что дело в версии Microsoft Excel.
Визуализация графики при открыти XLSX может задействовать какие-то перекошенные компоненты Excel,
может быть прописан скрипт на открытие файла, может быть проблема с антивирусом, если он контролирует скрипты
в Micosoft Office (меня KIS уже забодал тем, что постоянно лезет в файлы Outlook и их потом нельзя переместить).
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Обновил стартовый пост
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Огласите пжалуйста весть список ! ;) (изменений в версиях)
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

А я его не веду ))
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Таки может начать вести ? ;)
Библиотека за последние пару месяцев хорошо подросла, как раньше "открыл и всё понятно" уже не катит.
И юзеров прибавилось, и для контроля развития полезно. :)
Гипотетически: обновил релиз и что-то перекосило, так хоть примерно знать, что менялось и где смотреть ...
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Перекосить ничего не должно, в этот раз только добавлял. Что именно добавлено, легко сравнить по файлу inc, я пользуюсь функцией сравнения файлов в Total Commander, очень удобно
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Ну, нет - так нет .... Всё же предусмотреть не возможно, куча версий Excel разных поколений и т.д.

Я тоже уже несколько раз налетал на не открываемые в Excel файлы, но всегда причину находил.
В библиотеке (именно в DLL) напрочь отсутствует контроль запрещённых операций, это всё перекладывается
на прикладную программу .... Например, если динамически, от данных прорисовывается структура отчёта,
нужно внимательно отслеживать пересечения областей объединения ячеек (MERGE) и т.д.
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Всё хорошо, за исключеньем пустяка .... ;)
Есть вопрос, который рано или поздно всё равно придётся решать: поддержка приложений MULTI-DLL.
Сейчас LibXLSXWriter тупо прилинкуется к каждой DLL в проекте и всё вроде работает. Но это ведь не правильно ...
В принципе, в той же опциональной компоненте TPICTURE от TABOGA поддержка MULTI-DLL проектов уже реализована.
Так может быть сделать такую же возможность и в самой LibXLSXWriter ? Спасибо за рассмотрение вопроса. :)
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Я в этом (пока) не разбираюсь. Переделайте как должно быть, проверим, посмотрим
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Там нет ничего военного ...

Код: Выделить всё

! Заменяем для класса 
  LINK('xlsxwriter.clw')
! на
  LINK('xlsxwriter.clw',_XLSXLinkMode_),DLL(_XLSXDllMode_)   
Ну и выставляем в проекте значения _XLSXLinkMode_ и _XLSXDllMode_
Таки вроде и всё ... :)
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Шаблон тогда придется еще делать )))

После того, как полностью оберну функционал библиотеки, можно будет и такими вещами заняться
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 16 Январь 2018, 11:14Шаблон тогда придется еще делать
Зачем шаблон ? Что бы выставить в проекте 2 флага ? Не надо шаблон !
Мы (поклонники LibXLSXWriter) не тупые и сами умеем это делать и уже делаем для TPictute. ;)
Это просто можно в коментах к примеру указать, для тех кто совсем тёмный ... ;)
Make Clarion Great Again ! 😎
Аватара пользователя
vic7tar
Ветеран
Сообщения: 365
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar »

У меня Microsoft® Excel® 2016 MSO (16.0.4639.1000), 32-разрядная версия.
Report.xlsx не открывался, ругался как сказали выше. Excel Viewer не ругался и просто не открывал.
Закомментировал две строчки:

Код: Выделить всё

 . . .
            chart.SetTitleName('Линейная диаграмма')
            ! chart.SetTitleNameFont('Arial',15.5,FONT:Underline,-45,color:green)
 . . .
            chart2.SetLabelsPosition(series2,XLSX:POSITION_INSIDE_END)
            ! chart2.SetLabelsFont(series2,'Arial',8.5,FONT:Underline,,color:white) 
 . . .
Похоже не нравятся фонты. После этого Excel и Virwer открывают файл нормально, правда чарты немного портятся.
C10, Win10x64
Ответить