Библиотеки для редактирования файлов Excel

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

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

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

libxlsxwriter for Clarion

Сообщение finsoftrz »

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

libxlsxwriter for Clarion

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

Ну если просто заполнить и отправить бланки - значит нужно каждый раз раставлять в них шаблоны полей,
либо прописывать номера ячеек и молится, что бы они не изменились. 😇
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Насколько я помню такую ситуацию, никаких шаблонов в бланках нет. Их присылают просто с инструкцией по заполнению, предполагая ручное заполнение. Юзеры хотят себе облегчить жизнь и грузят программистов. Это совсем допотопная схема работы, которая свидетельствует об отсутствии полноценной автоматизации. Я думал, что такое осталось далеко в 90-х, оказывается, и сейчас практикуют.
Скорее всего речь про номера ячеек, и они могут меняться со временем.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 5082
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 23 раза

libxlsxwriter for Clarion

Сообщение kreator »

Я вот не очень понимаю как пользоваться шаблоном, сделанным в Экселе. Надо же данные туда кидать. А эти настройки где? Давным-давно делал импорт в Winword на шаблонах Winword. Там есть такая штука как закладка. Ну и табличная часть, которая заполняется стандартно. Но кроме меня, разработчика, эти шаблоны никто не мог править. Если только минимальное что-то, типа шрифт изменить. Т.е. я к тому, что нужно уйти от шаблонов в Эксель. Я ещё пойму, если есть какая-то развитая система настройки отчётов. Типа как у Рафаэля, кажется он писал об этом.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Я привёл код построения реального отчёта. Подобная схема была ещё в 1с77. В ячейки вписываются разные значения и формулы. Области (секции) отмечаются. А потом вывести секцию и присоединить секцию (если отчёт расширяется горизонтально). Логику пользователь произвольно менять не может, а вот наполнение ячеек значениями и формулами, оформление легко. Но главный смысл не в том, чтобы пользователи могли изменять шаблоны, а в том, чтобы сделать разработку и модификацию табличных отчётов максимально простой и быстрой. Возможность вносить изменения на стороне пользователя позволяет удаленно протестировать на боевой базе данных.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7691
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 69 раз

libxlsxwriter for Clarion

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

kreator писал(а): 01 Апрель 2024, 21:41 сделанным в Экселе. Надо же данные туда кидать. А эти настройки где?
В самом отчёте. :)
Здесь как бы наоборот - если нет развитой системы отчётов (типа как у Рафаэля), то мона прикрутить примитивную
возможность тупо расставить в любом XLSX файле поля и потом заполнять их программы. И на этом ... всё. :)

1.jpg
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Без формул и полей базы данных неудобно. У меня похожая система для вывода в rtf, это, в основном, бланки договоров. Кончилось тем, что надоело в программе прописывать названия вставок, приделал текстовый файл, который имеет то же название, что и шаблон rtf. В этом файле прописываются формулы для расчёта значений для вставки. Класс построения rtf формы автоматически определяет наличие файла с формулами и обрабатывает. Жизнь стала проще и веселее.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Для прямых отчётов в эксель можно ещё заморочиться с мастер-процедурами. Это когда в отдельной процедуре определяется логика формирования для типа отчёта, а самих форм отчётов можно создавать много разных. Эта схема позволяет автоматически вытащить в приложение название полей базы данных, переменных, функций, секций, которые можно выбирать и вставлять в экселевский шаблон через буфер обмена. Получается вполне себе развитая система табличных отчётов со всеми возможностями и удобствами офисных пакетов. Вишенка на торте, можно на основании табличной формы дополнительно формировать обычную кларионовскую репорт структуру. Иногда такое может быть удобно, в одном флаконе report для печати и xls/xlsx для последующей работы.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

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

libxlsxwriter for Clarion

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

Не, ну это ведь совсем другой уровень. Здесь показана мощная система подготовки отчётов.
Возможно, что со всеми вот этими CLIP & PER у неё основной пользователь - это Вы сами. :)

А я говорил о примитивном механизме, когда в бланк тупо копипастятся поля и программа их заполняет.
Всё. Пардон, но я не уверен, что сам-то смогу с первого раза написать конструкцию вроде Choose(Len(Clip(Per(Format ...
Зачем же над людьми тогда издеваться ? :)
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Практика показывает, что пользователи сами крайне редко создают какие-то формы. Разумеется, это все ориентировано на минимизацию затрат на разработку и поддержку.
Если хочется ограничиться именованными вставками, то формулы можно прописать в отдельном файле, чтобы каждый раз не перекомпилировать приложение при мелких изменениях в расчётах.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Готового примера под рукой нет. Для понимания что-то типа такого. С поправкой, это не xls/xlsx, а rtf, но смысл тот же.

xlsx_templ5.jpg

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

libxlsxwriter for Clarion

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

finsoftrz писал(а): 02 Апрель 2024, 8:48 Практика показывает, что пользователи сами крайне редко создают какие-то формы.
У нас наоборот. Пользователи создают какое-то огромное кол-во навороченных форм отчётов.
Возможно потому, что сама предложенная схема их заполнения простая (хотя конечно и ограничена по возможностям).
А нам самим проще делать отчёты в инструментальном средстве - да и работать они будут эффективней. :)
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7691
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 69 раз

libxlsxwriter for Clarion

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

finsoftrz писал(а): 02 Апрель 2024, 8:58 только названия вставок, которые Вы ему напишете в инструкции или хелпе.
А вот здесь обратная ситуация ...
У меня иногда складывается впечатление, что справку читаю только я. :idied:
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4898
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 43 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Игорь Столяров писал(а): 02 Апрель 2024, 9:00 А нам самим проще делать отчёты в инструментальном средстве - да и работать они будут эффективней. :)
Тут золотая середина нужна. То, что удобнее делать в коде, надо делать в коде, а что удобнее вынести на уровень приложения, надо выносить на уровень приложения. Например, зашивать в код привязку обозначений к полям базы данных или форматирование каких-то значений выглядит явно кисло и приводим к дополнительным временным затратам на разработку и поддержку.

По поводу того, что сами пользователи изменяют бланки отчётов. Я думаю, что такое может быть, если приложение не очень критично для бизнеса и много разношерстных пользователей, среди которых есть свои энтузиасты и Портосы. :-) У нас хитом творчества пользователей был различные формы ценников, но их делали не совсем обычные пользователи.
Могут ещё править формы айтишники и "консультанты". В любом случае, такое приводит к децентрализации управления проектом со всеми вытекающими.
C6/C11, ШВС, tps/btrieve.
Ответить