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 КБ) 982 скачивания
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Если я правильно понял что написано в мануале, то это всего лишь пометка выделенных ячеек, а не групповое форматирование
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Да, я это тоже видел ...
Тогда получается, что установленный формат действует только на методы WriteXXXXXXX ?
Судя по описанию, методы форматирования применяются к ячейкам, a worksheet_set_selection()
как раз эти ячейки и определяет ...
Ну не может быть такого, что нельзя для области ячеек установить шрифт, цвет и т.д.
Тогда получается, что установленный формат действует только на методы WriteXXXXXXX ?
Судя по описанию, методы форматирования применяются к ячейкам, a worksheet_set_selection()
как раз эти ячейки и определяет ...
Ну не может быть такого, что нельзя для области ячеек установить шрифт, цвет и т.д.

Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Когда библиотеку встраивал в проект, переделывал выгрузку на форматирование вместе с записью вместо "сначала выгрузили, потом отформатировали". Кстати, шаблон от Taboga аналогично работает
https://libxlsxwriter.github.io/faq.html
Q. Can I apply a format to a range of cells in one go?
Currently no. However, it is a planned features to allow cell formats and data to be written separately.
https://libxlsxwriter.github.io/faq.html
Q. Can I apply a format to a range of cells in one go?
Currently no. However, it is a planned features to allow cell formats and data to be written separately.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Но это не всегда возможно ...
Например я хочу выгрузить по товарам несколько цен и потом закрасить минимум / максимум в каждой колонке.
Ну или тогда придётся сначала эту таблицу формировать в памяти, что бы на момент записи ячеек уже знать экстремумы
значений в каждой колонке по всей таблице ...
Понял !RaFaeL писал(а): 17 Декабрь 2017, 10:43 Currently no. However, it is a planned features to allow cell formats and data to be written separately.

Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Конечно идеология построения отчёта в LibXLSSWriter должна быть пересмотрена, относительно OLE ....
Но зато, кроме известных плюсов, обнаруживаются и неожиданные бонусы.
Например, нет зависимости разделителя дробных разрядов чисел от региональных настроек Windows.
Вопрос: можно ли посмотреть блок библиотеки для работы с форматами (файл tpicture.inc) ?
Заранее спасибо !
Но зато, кроме известных плюсов, обнаруживаются и неожиданные бонусы.

Например, нет зависимости разделителя дробных разрядов чисел от региональных настроек Windows.
Вопрос: можно ли посмотреть блок библиотеки для работы с форматами (файл tpicture.inc) ?
Заранее спасибо !

Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Почему-то не могу подключить работу с форматированием ... 
Вроде бы все Defines Project выставил правильно, но упорно не активируется компиляция именно в xlsxWriter.inc
Ничего не понимаю. Посмотрите пожалуйста в чём косяк, на штатном примере библиотеки.
(прикреплено к сообщению)

Вроде бы все Defines Project выставил правильно, но упорно не активируется компиляция именно в xlsxWriter.inc
Ничего не понимаю. Посмотрите пожалуйста в чём косяк, на штатном примере библиотеки.
(прикреплено к сообщению)
- Вложения
-
- help_me.zip
- (33.57 КБ) 240 скачиваний
Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Попробуйте новый вариант, в заглавном посте обновил. Там немного неправильно было. В примере есть комментарий
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Ура ! Таки заработало. Спасибо !

Но видимо существуют некорые ньюансы, не срабатывает формат c бланкированием на числах.
Например:
Код: Выделить всё
xlsx.ClearFormat()
xlsx.Format.Picture='@n12.2b'
xlsx.SetFormat()
err#=xlsx.WriteNumber(1,5,0)
Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Нет. Но вопрос можно задать по другому: как применить формат к ячейке без вывода данных.
Например, формируем бланк заказа, с пустой колонкой в которой будет указывается кол-во в формате "0.000"
Спасибо за направление, разобрался.

Код: Выделить всё
xlsx.ClearFormat()
xlsx.Format.Picture='@n_13.3'
xlsx.SetFormat()
err#=xlsx.WriteBlank(1,5)
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
libxlsxwriter for Clarion
Вообще есть. Вот так, например, - "0,00;;;@".
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Возможно, это только для меня "открытие", но на всякий случай напишу ... 
Calc из пакета Libre Office полноценно работает с XLSX файлами: открывает, сохраняет и т.д.
(в отличии от Calc из пакета Apache OpenOffice, который XLSX только медленно читает с конвертацией).
И в принципе, это решает задачу полноценной работы с XLSX отчётами вообще без коммерческого Microsoft Excel.
Да и генерация отчётов в ODS специально для OO Calc похоже теперь тоже не нужна особо ...

Calc из пакета Libre Office полноценно работает с XLSX файлами: открывает, сохраняет и т.д.
(в отличии от Calc из пакета Apache OpenOffice, который XLSX только медленно читает с конвертацией).
И в принципе, это решает задачу полноценной работы с XLSX отчётами вообще без коммерческого Microsoft Excel.

Да и генерация отчётов в ODS специально для OO Calc похоже теперь тоже не нужна особо ...
Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
На перспективу, наверно, стоит иметь ввиду xlsx. Я глянул, что создается внутри zip архива. В общем, все находится, можно и паровозиком прицепиться и портировать на чистый кларион. Архивировать можно и 7z. Тут есть забавная тонкость. Если разархивировать xlsx файл через 7z, то винда автоматически меняет кодировку файлов. То есть, если хотим завернуть обратно, надо поменять кодировку взад на utf8. Например, с помощью xml notepad. Им же можно пользоваться, чтобы автоматически привел к читабельному виду xml файлы, которые сжаты без разделителей строк.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Подскажите пожалуйста, а есть ли в LibXLSX возможность выполнить группировку строк ?
Т.е. то, что в OLE делается вот так:
Т.е. то, что в OLE делается вот так:
Код: Выделить всё
Object{MyXLS & 'Rows("1:50").Group'}
Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Я так понимаю это уровень в https://libxlsxwriter.github.io/structl ... ml#details но currently not supported. Ждем-с.