libxlsxwriter for Clarion

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

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

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

libxlsxwriter for Clarion

Сообщение finsoftrz »

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

libxlsxwriter for Clarion

Сообщение finsoftrz »

George писал(а): 13 Декабрь 2017, 10:20 А умеет DExcel работать с XLSX ???
Нет, с xls. Но смысл не меняется, библиотеки для вывода в excel работают однотипно. Заменить одну на другую не должно вызвать сложностей.
C6/C11, ШВС, tps/btrieve.
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libxlsxwriter for Clarion

Сообщение gopstop2007 »

RaFaeL писал(а): 11 Декабрь 2017, 18:36 Пробуйте
Если еще чего не хватает, пишите, постараюсь добавить
Подставил для вывода фото в xlsx справочника товара, не выводит.
Разобрался, из-за ограничения по буферу или zlib не может сзиповать :(
Если в пример добавить код ниже вы сами увидите, надеюсь

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

            LOOP i# = 1 to 600 ! меньше 500 - выводит
                options.x_offset=1
                options.y_offset=1
                options.x_scale=0.5
                options.y_scale=0.5
                err#=xlsx.InsertImage(i#,2,'c:\Program_2017\Exsample\libxlsxwriter_171211\Photo\image002.png',options)
            end    
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

gopstop2007 писал(а): 13 Декабрь 2017, 11:28
Выдает ошибку 8, "Function parameter validation error."
Вероятно, внутреннее ограничение
Покопал исходники, похоже что дело в количестве одновременно открытых файлов. Файл открывается сразу и не закрывается до создания файла. Автору написал.

P.S. Автор ответил что поправлено в новой версии
https://github.com/jmcnamara/libxlsxwriter/issues/106
Надо скачать и пересобрать, сейчас займусь )
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libxlsxwriter for Clarion

Сообщение gopstop2007 »

RaFaeL писал(а): 13 Декабрь 2017, 11:48
gopstop2007 писал(а): 13 Декабрь 2017, 11:28
Вероятно, внутреннее ограничение
Покопал исходники, похоже что дело в количестве одновременно открытых файлов. Файл открывается сразу и не закрывается до создания файла. Автору написал.
Так и есть, так как я из блоба - BLOBTOFILE(pictures,'tmp.jpg') создаю tmp-фото, закидываю в xlsx, и сразу удалял tmp-фото, и так по циклу. В libxlsxwriter удалять tmp-фото не давало. :(
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

gopstop2007 писал(а): 13 Декабрь 2017, 12:50
Пересобрал на текущей версии 0.7.5, проверил, работает. Обновил стартовый пост
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libxlsxwriter for Clarion

Сообщение gopstop2007 »

спасибо, :) пример работает, проверю в рабочем проекте
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
vic7tar
Ветеран
Сообщения: 365
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar »

RaFael, будет ли продолжение библиотеки? Я имею ввиду функции Сhart-ов.
C10, Win10x64
icohff
Новичок
Сообщения: 14
Зарегистрирован: 15 Март 2009, 19:40
Откуда: Bulgaria, Varna
Контактная информация:

libxlsxwriter for Clarion

Сообщение icohff »

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

libxlsxwriter for Clarion

Сообщение RaFaeL »

vic7tar писал(а): 15 Декабрь 2017, 3:04RaFael, будет ли продолжение библиотеки? Я имею ввиду функции Сhart-ов.
Вообще собирался, решил подождать пока будет готово вот это https://github.com/jmcnamara/libxlsxwriter/issues/91
И что-то там многовато функций ))
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

icohff писал(а): 15 Декабрь 2017, 3:44worksheet_write_formula
worksheet_write_formula_num
Пробуйте
Последний раз редактировалось RaFaeL 13 Январь 2018, 14:35, всего редактировалось 1 раз.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

Можно я тоже буду спрашивать непонятности ? ;) Если буду тупить - не ругайтесь, я быстро учусь. :)

Нельзя вернуться к рисованию нормальным шрифтом.
Т.е. вот так не получается:

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

   MyXLSX.Format.FontStyle = Font:Bold
   MyXLSX.SetFormat()

   ! Выводим жирным шрифтом

   MyXLSX.Format.FontStyle = Font:Regular  
   MyXLSX.SetFormat()
   
   ! И всё равно жирный шрифт :(
Приходится делать не очевидно:

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

   ....
   Clear(MyXLSX.Format.FontStyle)
   MyXLSX.SetFormat()
   
   ! OK - шрифт вернулся к нормальному ...
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libxlsxwriter for Clarion

Сообщение Ал »

Игорь Столяров писал(а): 16 Декабрь 2017, 22:03 Можно я тоже буду спрашивать непонятности ? ;) Если буду тупить - не ругайтесь, я быстро учусь. :)

Нельзя вернуться к рисованию нормальным шрифтом.
Т.е. вот так не получается:

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

   MyXLSX.Format.FontStyle = Font:Bold
   MyXLSX.SetFormat()

   ! Выводим жирным шрифтом

   MyXLSX.Format.FontStyle = Font:Regular  
   MyXLSX.SetFormat()
   
   ! И всё равно жирный шрифт :(
насколько я понял - так и должно быть..., все "штатно" - последующие setformat добавляют к предыдущим установкам новые свойства, т.е. если б было после болд не болд а италик, то выдал бы жирным курсивом, см. пример на гит..

https://clck.ru/CJr33
Последний раз редактировалось Ал 16 Декабрь 2017, 23:23, всего редактировалось 1 раз.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

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

Да ! Спасибо, теперь возврат к обычному шрифту работает.

Я, что-то никак не могу понять божественный замысел автора по работе с диапазонами ячеек. :(
Примеры на сайте смотрел ... Предположим, хочу закрасить 2 диапазона ячеек.

Добавляем:

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

 MAP
     MODULE('libxlsxwriter.dll')
     ...
     worksheet_set_selection(LONG worksheet,LONG first_row,LONG first_col, |
                                          LONG last_row,LONG last_col),LONG,RAW,C,NAME('worksheet_set_selection')
     
xlsxwriter  CLASS
...
SetRange                        PROCEDURE(LONG first_row_,LONG first_col_,LONG last_row_,LONG last_col_),LONG

xlsxwriter.SetRange    PROCEDURE(LONG first_row_,LONG first_col_,LONG last_row_,LONG last_col_)
  CODE
    return worksheet_set_selection(SELF.ActiveWorksheet,first_row_-1,first_col_-1,last_row_-1,last_col_-1)
Теперь, по идее, должно работать следующее:

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

            xlsx.ClearFormat()      ! Сбросили формат
            xlsx.SetFormat()

            err# = xlsx.SetRange(1,1,2,2)      ! Применить к диапазону            
            xlsx.Format.Color=color:yellow
            xlsx.SetFormat()                         ! Установить формат 

            err# = xlsx.SetRange(3,4,5,6)      ! Применить к диапазону             
            xlsx.Format.Color=color:Red
            xlsx.SetFormat()                         ! Установить формат
            !err# = xlsx.SetRange(3,4,5,6)      ! И так тоже не работает
            
Но не работает. :(
Понятно, что не работает применение формата к диапазону ячеек. Но что конкретно ?
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить