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 раз.
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
libxlsxwriter for Clarion
У Вас с RaFaeL'ем разный подход. RaFaeL версию не меняет (может ещё и по этой причине). Я тоже стараюсь раз в 3-4 месяца обновиться. И, конечно, вылезают проблемы. Поэтому, задача - минимизировать проблемы. Много сторонних dll -> много времени на отладку -> много ресурсов (людей). Как я писал, лучше зависеть от одной конторы. Или хотя бы от себя.Игорь Столяров писал(а):Результат: что-то происходит внутри DLL IqXML на парсинге больших файлов (есть такой бесплатный проект работы c XML файлами).Версия DLL от мая 2016 г. работает, а текущая версия от сентября 2016 г. - нет. Почему - ХЗ. Проект IqXML - умер. Пока для C10 старый DLL подходит - жить можно, дальше - плохо.Я вот теперь думаю, переписывать большой объем кода под очередной самопал и ждать пока он загнетсяс такими вот фирулями или все-таки потратится и написать разбор этих XML самому ?
И ещё мне очень не нравятся бесплатные проекты. Во-первых они не вечные. Во-вторых, у разработчиков бывает очень интересный подход. Я столкнулся. Попросили посмотреть открытую графическую библиотеку (на с++, может практически всё, вплоть до распознавания движущихся объектов на видео). Хелп не актуальный, примеров практически нет. Видимо, считают, что пользователи раз не платят, то хотя бы пусть найдут время изучить как всё это работает.
А кларионовский класс для xml совсем никакой?
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
В С10 - нормальный. С ним можно работать, просто не совсем удобно ... к тому же только в UTF-8.
Иногда бывает по другому. Если делали библиотеку под какой-либо тендер на гос / бюджетный заказ, то там часто прописывают публикацию используемого кода. Вроде как защита бюджетных денег. В принципе риска никакого - все равно фиг кто разберется ...

Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Еще раз - сабжевая библиотека от версии Клариона не зависит! Именно этим она и ценна!
Собрал либу 0.6.9 через MinGW старый, без лишних зависимостей, завтра проверю и выложу комплект, далее только кларионовский код меняться будет
Собрал либу 0.6.9 через MinGW старый, без лишних зависимостей, завтра проверю и выложу комплект, далее только кларионовский код меняться будет
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Обновил стартовый пост
Библиотека версии 0.6.9
Добавил метод фиксации строк и колонок
Библиотека версии 0.6.9
Добавил метод фиксации строк и колонок
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
libxlsxwriter for Clarion
Попробовал, хороша, шустро, спасибо. Хотелось бы, чтобы полностью заменить чем сейчас пользуюсь, необходима вставка картинок(image) в excel.
Добавил в .clwВставляет картинку, но одна проблема, без форматирования, не вписывает картинку в клетку
Добавляю еще процедуруНо, не получается передать последний параметр - options
https://github.com/jmcnamara/libxlsxwriter/issues/85
Помогите добрым словом
Добавил в .clw
Код: Выделить всё
worksheet_insert_image(LONG worksheet,LONG row,LONG col,*CSTRING string),LONG,RAW,C,NAME('worksheet_insert_image')
xlsxwriter.InsertImageOpt PROCEDURE(LONG row_,LONG col_,STRING string_)
cstr &CSTRING
CODE
cstr &=new(cstring(len(clip(string_))*2+1))
cstr = clip(string_)
ConvertCharSet(cstr,0,65001)
ret#=worksheet_insert_image(SELF.ActiveWorksheet,row_-1,col_-1,cstr)
dispose(cstr);
return ret#
Добавляю еще процедуру
Код: Выделить всё
worksheet_insert_image_opt(LONG worksheet,LONG row,LONG col,*CSTRING string,*CSTRING options),LONG,RAW,C,NAME('worksheet_insert_image_opt')
https://github.com/jmcnamara/libxlsxwriter/issues/85
Помогите добрым словом

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Пробуйте
Если еще чего не хватает, пишите, постараюсь добавить
Последний раз редактировалось RaFaeL 13 Январь 2018, 14:33, всего редактировалось 1 раз.
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
libxlsxwriter for Clarion
Спасибо огромное! РаботаетRaFaeL писал(а): 11 Декабрь 2017, 18:36 Пробуйте
Если еще чего не хватает, пишите, постараюсь добавить

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
libxlsxwriter for Clarion
А как открыть уже созданный файл (шаблон) и туда добавить данные ?RaFaeL писал(а): 11 Декабрь 2017, 18:36Пробуйте
Если еще чего не хватает, пишите, постараюсь добавить
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Низя.George писал(а): 12 Декабрь 2017, 20:45А как открыть уже созданный файл (шаблон) и туда добавить данные ?

Make Clarion Great Again ! 
-
- Посетитель
- Сообщения: 49
- Зарегистрирован: 30 Декабрь 2005, 0:06
libxlsxwriter for Clarion
Можно написать парсер, который из бланка (шаблона) подготовит скрипт (файл с описание форматов ячеек и т.д.). А по скрипту создавать файл с помощью, например, этой библиотеки.
Для xlsx можно и не писать парсер. Просто распаковать файл и открывать соответствующие XML файлы и по ним создавать файл.
Для xlsx можно и не писать парсер. Просто распаковать файл и открывать соответствующие XML файлы и по ним создавать файл.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Я так и делаю. Только для вывода использую DExcel. В принципе, на месте DExcel можно и другие библиотеки подцепить.
На первом скрине бланк в Excel.
На втором сгенеренной программой шаблон (скрипт). Заголовок до ******* вписывается вручную, остальное создается автоматически.
На третьем результат в Excel.
На четвертом результат в Report.
На первом скрине бланк в Excel.
На втором сгенеренной программой шаблон (скрипт). Заголовок до ******* вписывается вручную, остальное создается автоматически.
На третьем результат в Excel.
На четвертом результат в Report.
C6/C12, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Еще код в приложении, остальное шаблоном.
Код: Выделить всё
form_r routine !формирование отчета
do startPrn_r !начать печать
FsPrimary:Param(1)
FsRep.PrgViewRTF=PAR:PrgBlancsEdit
do bind_r
loc:nameDet='Шапка' ; do print_r
clear(SotGr:record,-1)
set(SotGr:keyName,SotGr:keyName)
loop
next(sotrGr)
if error()
break
.
if Loc:Gr>0 and Loc:Gr<>SotGr:ID
cycle
.
loc:nameDet='Группа' ; do print_r
clear(sot:record,-1)
sot:IDGr=sotGr:ID
if Loc:Sort=1
set(Sot:keyKodGr,Sot:keyKodGr)
else
set(Sot:keyNameGr,Sot:keyNameGr)
.
loop
next(sotr)
if error() or sot:IDGr<>sotGr:ID
break
.
loc:nameDet='Строка' ; do print_r
.
.
loc:nameDet='Подвал' ; do print_r
do endPrn_r !завершить печать
do unbind_r
C6/C12, ШВС, tps/btrieve.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Заведите, пожалуйста, для своих шаблонов отдельную тему. Эта про конкретную библиотеку
libxlsxwriter for Clarion
А умеет DExcel работать с XLSX ???finsoftrz писал(а): 13 Декабрь 2017, 8:25 Я так и делаю. Только для вывода использую DExcel. В принципе, на месте DExcel можно и другие библиотеки подцепить.
На первом скрине бланк в Excel.
На втором сгенеренной программой шаблон (скрипт). Заголовок до ******* вписывается вручную, остальное создается автоматически.
На третьем результат в Excel.
На четвертом результат в Report.