libxlsxwriter for Clarion
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Создание файлов Excel (xlsx) без использования Excel на основе проекта libxlsxwriter (https://libxlsxwriter.github.io). Можно создавать файлы, листы в них, писать данные (текст (в т.ч. русский), число, дата, время), ставить форматирование (цвет, рамки, шрифт, выравнивание, размер), объединять ячейки, фиксировать и скрывать строки и колонки, вставлять изображения, рисовать графики (диаграммы), устанавливать настройки печати и свойства документа.
Для конвертирования "картинок" форматов используется библиотека Tpicture от Taboga, у кого этого класса нет замените на что-то свое
Для конвертирования "картинок" форматов используется библиотека 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
Понял. LibXLSXWriter обновил. Всё OK, пример собрался и открылся без проблем.
Очень красиво !

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

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

Есть вопрос, который рано или поздно всё равно придётся решать: поддержка приложений MULTI-DLL.
Сейчас LibXLSXWriter тупо прилинкуется к каждой DLL в проекте и всё вроде работает. Но это ведь не правильно ...
В принципе, в той же опциональной компоненте TPICTURE от TABOGA поддержка MULTI-DLL проектов уже реализована.
Так может быть сделать такую же возможность и в самой LibXLSXWriter ? Спасибо за рассмотрение вопроса.

Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Я в этом (пока) не разбираюсь. Переделайте как должно быть, проверим, посмотрим
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Там нет ничего военного ...
Ну и выставляем в проекте значения _XLSXLinkMode_ и _XLSXDllMode_
Таки вроде и всё ...
Код: Выделить всё
! Заменяем для класса
LINK('xlsxwriter.clw')
! на
LINK('xlsxwriter.clw',_XLSXLinkMode_),DLL(_XLSXDllMode_)
Таки вроде и всё ...

Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Шаблон тогда придется еще делать )))
После того, как полностью оберну функционал библиотеки, можно будет и такими вещами заняться
После того, как полностью оберну функционал библиотеки, можно будет и такими вещами заняться
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Зачем шаблон ? Что бы выставить в проекте 2 флага ? Не надо шаблон !
Мы (поклонники LibXLSXWriter) не тупые и сами умеем это делать и уже делаем для TPictute.

Это просто можно в коментах к примеру указать, для тех кто совсем тёмный ...

Make Clarion Great Again ! 
libxlsxwriter for Clarion
У меня Microsoft® Excel® 2016 MSO (16.0.4639.1000), 32-разрядная версия.
Report.xlsx не открывался, ругался как сказали выше. Excel Viewer не ругался и просто не открывал.
Закомментировал две строчки:
Похоже не нравятся фонты. После этого Excel и Virwer открывают файл нормально, правда чарты немного портятся.
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)
. . .
C10, Win10x64