libxlsxwriter for Clarion

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

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

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

libxlsxwriter for Clarion

Сообщение RaFaeL »

Если я правильно понял что написано в мануале, то это всего лишь пометка выделенных ячеек, а не групповое форматирование
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

Да, я это тоже видел ...
Тогда получается, что установленный формат действует только на методы WriteXXXXXXX ?

Судя по описанию, методы форматирования применяются к ячейкам, a worksheet_set_selection()
как раз эти ячейки и определяет ...

Ну не может быть такого, что нельзя для области ячеек установить шрифт, цвет и т.д. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Когда библиотеку встраивал в проект, переделывал выгрузку на форматирование вместе с записью вместо "сначала выгрузили, потом отформатировали". Кстати, шаблон от 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.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

RaFaeL писал(а): 17 Декабрь 2017, 10:43переделывал выгрузку на форматирование вместе с записью
Но это не всегда возможно ...
Например я хочу выгрузить по товарам несколько цен и потом закрасить минимум / максимум в каждой колонке.
Ну или тогда придётся сначала эту таблицу формировать в памяти, что бы на момент записи ячеек уже знать экстремумы
значений в каждой колонке по всей таблице ...
RaFaeL писал(а): 17 Декабрь 2017, 10:43 Currently no. However, it is a planned features to allow cell formats and data to be written separately.
Понял ! :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

Конечно идеология построения отчёта в LibXLSSWriter должна быть пересмотрена, относительно OLE ....
Но зато, кроме известных плюсов, обнаруживаются и неожиданные бонусы. :)
Например, нет зависимости разделителя дробных разрядов чисел от региональных настроек Windows.

Вопрос: можно ли посмотреть блок библиотеки для работы с форматами (файл tpicture.inc) ?
Заранее спасибо ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

Почему-то не могу подключить работу с форматированием ... :(
Вроде бы все Defines Project выставил правильно, но упорно не активируется компиляция именно в xlsxWriter.inc
Ничего не понимаю. Посмотрите пожалуйста в чём косяк, на штатном примере библиотеки.
(прикреплено к сообщению)
Вложения
help_me.zip
(33.57 КБ) 157 скачиваний
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

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

RaFaeL писал(а): 18 Декабрь 2017, 16:50Попробуйте новый вариант,
Ура ! Таки заработало. Спасибо ! :)
Но видимо существуют некорые ньюансы, не срабатывает формат c бланкированием на числах.

Например:

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

            xlsx.ClearFormat()
            xlsx.Format.Picture='@n12.2b'
            xlsx.SetFormat()
            err#=xlsx.WriteNumber(1,5,0)
Упорно выводит "0.00". Так и должно быть ?

test.jpg
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

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

RaFaeL писал(а): 18 Декабрь 2017, 23:11А в Экселе есть вообще формат с бланкированием?
Нет. Но вопрос можно задать по другому: как применить формат к ячейке без вывода данных.
Например, формируем бланк заказа, с пустой колонкой в которой будет указывается кол-во в формате "0.000"
Спасибо за направление, разобрался. ;) Нужно привыкать работать без диапазонов. Вот так правильно:

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

            xlsx.ClearFormat()
            xlsx.Format.Picture='@n_13.3'
            xlsx.SetFormat()
            err#=xlsx.WriteBlank(1,5)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

libxlsxwriter for Clarion

Сообщение kreator »

RaFaeL писал(а): 18 Декабрь 2017, 23:11 А в Экселе есть вообще формат с бланкированием?
Вообще есть. Вот так, например, - "0,00;;;@".
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

Возможно, это только для меня "открытие", но на всякий случай напишу ... ;)

Calc из пакета Libre Office полноценно работает с XLSX файлами: открывает, сохраняет и т.д.
(в отличии от Calc из пакета Apache OpenOffice, который XLSX только медленно читает с конвертацией).

И в принципе, это решает задачу полноценной работы с XLSX отчётами вообще без коммерческого Microsoft Excel. :)
Да и генерация отчётов в ODS специально для OO Calc похоже теперь тоже не нужна особо ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

На перспективу, наверно, стоит иметь ввиду xlsx. Я глянул, что создается внутри zip архива. В общем, все находится, можно и паровозиком прицепиться и портировать на чистый кларион. Архивировать можно и 7z. Тут есть забавная тонкость. Если разархивировать xlsx файл через 7z, то винда автоматически меняет кодировку файлов. То есть, если хотим завернуть обратно, надо поменять кодировку взад на utf8. Например, с помощью xml notepad. Им же можно пользоваться, чтобы автоматически привел к читабельному виду xml файлы, которые сжаты без разделителей строк.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

Подскажите пожалуйста, а есть ли в LibXLSX возможность выполнить группировку строк ?
Т.е. то, что в OLE делается вот так:

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

     Object{MyXLS & 'Rows("1:50").Group'}     
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Я так понимаю это уровень в https://libxlsxwriter.github.io/structl ... ml#details но currently not supported. Ждем-с.
Ответить