libxlsxwriter for Clarion

Программы на Clarion, шаблоны, библиотеки и пр.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3517
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 04 Июль 2018, 9:31

Есть интересная особенность в работе библиотеки, а может быть и обёртки …
Задача: вывести в строке текст с переносом (Wrap = True), но при этом установить фиксированную высоту строки.

Всё работает, и можно установить любую высоту строки .... кроме значения 15 (XLSX:DEF_ROW_HEIGHT).
При принудительной установке высоты строки = 15, её реальная высота будет всегда устанавливаться по тексту. ;)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 711
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 04 Июль 2018, 13:50

А через эксель можно так установить? Если да, то открывайте issue

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3517
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 04 Июль 2018, 14:03

RaFaeL писал(а):
04 Июль 2018, 13:50
А через эксель можно так установить? Если да, то открывайте issue
Через Microsoft Excel конечно можно, но это ведь уже пост-обработка XLSX, как и WRAP объединённых ячеек …
Т.е. совсем другая история. Это не проблема, просто забавно. :) Я сделал вот так:

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

  ErrorCode = MyXLSX.SetRow(Loc:Row,Choose(MyRowHeight = XLSX:DEF_ROW_HEIGHT,15.1,MyRowHeight))

Самое интересное, что в этом случае выставляется высота строки: 15.00 ! :)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 711
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 02 Сентябрь 2018, 2:20

Обновил версию в шапке. Собрано на актуальном релизе библиотеки. Добавлен метод выравнивания подписей осей графиков

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 711
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 13 Сентябрь 2018, 23:16

Добавил chartsheets (не знаю как переводится). Шапку пока не обновлял, так как пока не все методы доступны в библиотеке
Внимание: изменены некоторые методы и свойства класса, придется кое-что подправить

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 711
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 15 Сентябрь 2018, 23:58

Обнаружил проблему, при которой мог быть крэш при освобождении памяти класса. Никто не сталкивался? Странно )) Версии в шапке, кстати, тоже касается
Вложения
libxlsxwriter.zip
(208.16 КБ) 1 скачивание

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3517
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 16 Сентябрь 2018, 7:30

RaFaeL писал(а):
15 Сентябрь 2018, 23:58
Никто не сталкивался? Странно ))
Таки нормально ! ;) Дело в том, что схема с распределением памяти, предлагаемая в авторском примере:

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

xlsx   &xlsxwriter
...
   Code
   xlsx &=NEW(xlsxwriter)
   xlsx.NewWorkbook('TheFile.xlsx')
   ...
   If xlsx.CloseWorkbook() ...    
   dispose(xlsx)
медленная и потенциально конфликтная. Я уже говорил, что использую упрощённый вариант:

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

MyXLSX    xlsxwriter
…
   Code
   xlsx.NewWorkbook('TheFile.xlsx')
   ...
   If xlsx.CloseWorkbook() ...
и потому нет никаких проблем. :)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 711
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 16 Сентябрь 2018, 10:30

Так память все равно освобождается рано или поздно, на закрытие процедуры или приложения. Другое дело, что у меня крэш проявлялся только после работы с графиками (возможно, это пока мало кто использует, я стараюсь по максимуму и уже встроил в проект chartsheets)

Ответить