libxlsxwriter for Clarion

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

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

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

libxlsxwriter for Clarion

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

RaFaeL писал(а): 09 Январь 2018, 11:36так как в кларионе штатно
Вы имеете ввиду нет в интерфейсе библиотеки libxlsxw.dll ?
(мой пример в предыдущем сообщении нарисован через OLE в программе на Clarion)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

В интерфейсе библиотеки как раз есть, нет именно свойств стиля в Кларионе штатного в отчете или в листе, т.е. а откуда брать этот параметр то - только из каких-то специально заточенных под выгрузку в Эксель функций
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

RaFaeL писал(а): 09 Январь 2018, 11:54нет именно свойств стиля в Кларионе штатного в отчете или в листе
Ну для REPORT толщина линий регулируется ?Line{Prop:LineWidth}
Но в общем-то это значения не имеет - мы же можем просто вручную задать тип стиля для прорисовки вида сетки в XLSX ?
Точно также, как в Clarion нет стиля для прорисовки ячейки с двумя сторонами, но мы это делаем:

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

   XLSX.Format.BorderStyle = XLSX:BorderLeft + XLSX:BorderTop
и всё пучком ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

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

Уф ! Вы желания назойливых пользователей исполняете быстрее чем Хоттабыч ... :)
Спасибо ! Пошёл пробовать ... :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

RaFaeL писал(а): 09 Январь 2018, 12:19Пробуйте
Попробовал. Назрел вопрос. Можно ли в метод ClearFormat() добавить строчку:

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

   SELF.Format.BorderFormat = XLSX:BORDER_THIN
иначе теперь надо обычную сетку всегда вручную выставлять после очистки формата.
Судя по структуре, Вы ведь так это и задумали сделать:

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

FormatType GROUP,TYPE
BorderStyle BYTE
BorderColor LONG
BorderFormat BYTE(XLSX:BORDER_THIN)
....
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Артур
Ветеран
Сообщения: 329
Зарегистрирован: 01 Июнь 2006, 12:33
Откуда: Новороссийск

libxlsxwriter for Clarion

Сообщение Артур »

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

libxlsxwriter for Clarion

Сообщение RaFaeL »

Артур писал(а): 09 Январь 2018, 13:26Обеспечивается перенос текста, но не увеличение установленной высоты строки
Если высоту строки явно не задавать, то Excel должен при открытии сам увеличить. Иначе никак
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

libxlsxwriter for Clarion

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

RaFaeL писал(а): 09 Январь 2018, 13:44Добавил, спасибо
И ещё вопрос. Теперь сетку для ячеек можно рисовать любую, всё работает прекрасно.
Но как решить конкретную задачу: отделить шапку таблицы от тушки двойной (или жирной) линией ?!
Я заранее извиняюсь за своё тугодумие, но у меня действительно нет идей ... :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Артур
Ветеран
Сообщения: 329
Зарегистрирован: 01 Июнь 2006, 12:33
Откуда: Новороссийск

libxlsxwriter for Clarion

Сообщение Артур »

RaFaeL писал(а): 09 Январь 2018, 13:44Иначе никак
Понятно
Просьба поправить пример, чтобы запускался просмотр сформированного файла xlsx, например, как во вложении
Вложения
libxlsxwriter_exe.zip
(3.53 КБ) 109 скачиваний
Любить и обещать ничего не стоит
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

ОК, добавил в пример
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

libxlsxwriter for Clarion

Сообщение finsoftrz »

Игорь Столяров писал(а): 09 Январь 2018, 13:48
RaFaeL писал(а): 09 Январь 2018, 13:44Добавил, спасибо
И ещё вопрос. Теперь сетку для ячеек можно рисовать любую, всё работает прекрасно.
Но как решить конкретную задачу: отделить шапку таблицы от тушки двойной (или жирной) линией ?!
Я заранее извиняюсь за своё тугодумие, но у меня действительно нет идей ... :(
Установки можно задавать индивидуально у каждой границы. У меня структура для границ выглядит так:
QueueBordersType Queue, type !список границ
QueueBorderLeft BYTE !лево
QueueBorderTop BYTE !верх
QueueBorderRight BYTE !право
QueueBorderBottom BYTE !низ
QueueBorderDiag BYTE !диагональ
QueueBorderColorLeft LONG !лево (цвет)
QueueBorderColorTop LONG !верх (цвет)
QueueBorderColorRight LONG !право (цвет)
QueueBorderColorBottom LONG !низ (цвет)
QueueBorderColorDiag LONG !диагональ (цвет)
QueueBorderStyleLeft STRING(10) !лево (стиль)
QueueBorderStyleTop STRING(10) !верх (стиль)
QueueBorderStyleRight STRING(10) !право (стиль)
QueueBorderStyleBottom STRING(10) !низ (стиль)
QueueBorderStyleDiag STRING(10) !диагональ (стиль)
QueueBorderNum LONG !номер границ
end
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

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

finsoftrz писал(а): 09 Январь 2018, 15:11У меня структура для границ выглядит так:
Супер ! А можно Вас попросить завести отдельную тему для обсуждения Вашего класса ?

А то я 5 мин. с перепугу искал описываемую Вами QueueBordersType в XLSXWRITER.INC ... ;)
И мы тоже Вам своими глупостями мешать не будем. Иначе путаница получается, и так всё не просто ....
Спасибо за понимание ! :)

Анекдот:
БОЛЬНОЙ: Доктор, у меня рука болит !
ДОКТОР (ощупывая себя): А у меня, слава богу нет ! ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

libxlsxwriter for Clarion

Сообщение finsoftrz »

Я имел ввиду структуру xlsx, а не конкретную библиотеку. Думал, что не помешает для понимания, как это все работает. Ок, не буду больше мешать...
C6/C11, ШВС, tps/btrieve.
Ответить