libxlsxwriter for Clarion

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

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

libxlsxwriter for Clarion

Сообщение finsoftrz »

Точнее сказать, библиотека вычисляет весь блок <xdr:to>.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

Сообщение RaFaeL »

Исправил пару недочетов (не выводились секунды, не всегда выводился черный цвет в графики), немного подкорректировал имена внутренних типизированных объектов чтобы минимизировать возможные конфликты
Обновил шапку
На этом, думаю, пауза до обновления библиотеки
Аватара пользователя
morkovin
Ветеран
Сообщения: 909
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение morkovin »

Всё заработало! Использую вариант инициализации: xlsx xlsxwriter
В моей DLL:
2018-01-23 15-00-34.png
2018-01-23 15-00-34.png (2.02 КБ) 2049 просмотров
Global DLL:
Вложение 2018-01-23 15-03-24.png больше недоступно

morkovin писал(а): 18 Январь 2018, 11:17 Спасибо!
Заработало только после перемещения xls-процедуры в глобальную DLL, что не очень удобно. Да, шаблон не помешал бы.
Игорь Столяров писал(а): 18 Январь 2018, 9:49
morkovin писал(а): 18 Январь 2018, 9:43В DLL с подпрограммой? В обе?
В те модули, где XLSXWriter используется. Ну и подключаем в проекте *.lib (иначе вообще не соберётся)


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

libxlsxwriter for Clarion

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

Есть какая-то беда с экспортом времени, даже в традиционном формате ... :(

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

            Date# = Date(01,09,2018);     Time# = DeFormat('22:36:54',@t04)
            xlsx.ClearFormat()
            
            ! Контролька
            err#=xlsx.WriteString(11,10,'Дата: ' & Format(Date#,@d06) & '   Время: ' & Format(Time#,@t04))

            xlsx.Format.Picture = '@d06'
            xlsx.SetFormat()
            err# = xlsx.WriteDateTime(12,10,Date#,0)

            xlsx.Format.Picture = '@t04'
            xlsx.SetFormat()
            err# = xlsx.WriteDateTime(13,10,0,Time#)
Результат вот такой, хотя Microsoft Excel подсвечивает время в ячейке корректно.

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

libxlsxwriter for Clarion

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

Решил вопрос с экспортом времени через:

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

         XLSX.Format.Picture   = ''
         XLSX.Format.ExcelMask = 'HH:MM:SS'
         MyXLSX.SetFormat()
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

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

Ну извиняйте ... :) Это уже слишком сложно для Игоря ... :)
Я лучше выведу время через любезно предоставленную Вами возможность указать формат в XLSX.Format.ExcelMask

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

libxlsxwriter for Clarion

Сообщение RaFaeL »

Решает, там просто ошибка, нет значения разделителя по умолчанию, он может меняться, если в шаблоне указан альтернативный
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

libxlsxwriter for Clarion

Сообщение finsoftrz »

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

libxlsxwriter for Clarion

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

finsoftrz писал(а): 24 Январь 2018, 14:27Игорь, не надоело еще вручную бланки делать? Это ведь очень трудоемко...
А что, современной науке уже известны другие способы ? ;) Расскажите немедленно ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

libxlsxwriter for Clarion

Сообщение finsoftrz »

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

libxlsxwriter for Clarion

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

finsoftrz писал(а): 24 Январь 2018, 16:02Все форматирование, тексты, формулы и т.п. подтягиваются автоматически из бланка
В принципе да, но если конкретно: то зачем ?
Если Вы не исключаете из процесса Microsoft Excel (или бесплатный аналог), то зачем все эти конвертации ?
Не проще ли просто втянуть и распарсить бланк через OLE ? И пользователь может легко и понятно его редактировать.
А далее уже заполнить бланк данными через XLSXWriter (или Ваш аналог) и создать готовый отчёт.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

libxlsxwriter for Clarion

Сообщение finsoftrz »

Excel/Calc используются только на этапе разработки бланка. При формировании отчета они не нужны. Пользователи сами редко делают бланки, это инструмент для себя. А так, да, можно вытягивать информацию и через ole. Судя по опыту работы с подобной схемой для xls, по скорости разработки форм и по скорости формирования отчетов у пользователей мы спокойно делаем встроенный построитель отчетов в 1с, а у них он считается жемчужиной системы.
C6/C11, ШВС, tps/btrieve.
Ответить