libxlsxwriter for Clarion
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
libxlsxwriter for Clarion
RaFaeL, наверное забыли добавить format.set_diag_border /_type /_color?
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1379
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Всё-таки функции format_set_diag_border|color|type уже имеются в вашей версии 1.3.3
Ещё обнаружил, что добавлена интересная функция - worksheet_write_rich_string().
Ещё обнаружил, что добавлена интересная функция - worksheet_write_rich_string().
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1379
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Про диагональные бордеры сейчас уточню, может просто забыли в документации
Про rich string спрашивал тут пару лет назад, никому не нужно было )
Про rich string спрашивал тут пару лет назад, никому не нужно было )
libxlsxwriter for Clarion
Да, забыли.
Ну не знаю, если будет свободное время, может добавить? Лично мне пригодилась бы.
C10, Win10x64
libxlsxwriter for Clarion
RaFaeL, похоже в xlsxwriter.WriteUrl() закралась небольшая неточность, связанная с с использованием workbook_get_default_url_format():
Код: Выделить всё
xlsx.ClearFormat()
xlsx.Format.Border.Format = XLSX:Border_Thick
xlsx.Format.Align = XLSX:ALIGN_CENTER
xlsx.Format.AlignV = XLSX:ALIGN_VERTICAL_CENTER
xlsx.SetFormat()
xlsx.Merge(3, 3, 5, 5)
xlsx.WriteUrl(3, 3, 'http://www.clarionlife.net', 'Clarionlife') ! 'Clarionlife' не центрируется
! xlsx.WriteUrl(3, 3, 'http://www.clarionlife.net') ! всё нормально
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1379
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Но если переделать на использование текущего формата, то пропадет стандартное оформление ссылок (подчеркивание, синий текст) и его придется каждый раз проставлять руками. Или какое должно быть поведение? Подразумевалось, что если вам надо с оформлением, то вы используете последовательно WriteUrl и WriteString, а упрощенный метод только для добавления ссылки со стандартным оформлением
libxlsxwriter for Clarion
Получается, что xlsxwriter.WriteUrl(row_, col_, url_, string_) даёт голую ячейку с гиперссылкой (да ещё с дефолтным выравниванием) без возможности использования всяких прибамбасов форматирования.
В сишной структуре default_url_format все значимые поля нулевые, кроме:
font_size 11
underline 1
font_family 2
theme 10
hyperlink 1
locked 1
А если вот такой вариант? :
В сишной структуре default_url_format все значимые поля нулевые, кроме:
font_size 11
underline 1
font_family 2
theme 10
hyperlink 1
locked 1
А если вот такой вариант? :
Код: Выделить всё
xlsxwriter.WriteUrl PROCEDURE(LONG row_,SHORT col_,STRING url_,<STRING string_>)
CODE
SELF.ToUTF8(url_)
ret# = worksheet_write_url(SELF.ActiveSheet,row_-1,col_-1,SELF.cstr,SELF.ActiveFormat)
if ~omitted(5)
activeformat#=SELF.ActiveFormat
self.Format.FontName = 'Calibri'
self.Format.FontSize = 11
self.Format.FontColor = COLOR:Blue
self.Format.FontStyle = FONT:Underline
self.SetFormat()
!SELF.ActiveFormat=workbook_get_default_url_format(SELF.Workbook)
ret#=SELF.WriteString(row_,col_,string_)
SELF.ActiveFormat=activeformat#
end
return ret#
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1379
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Да. Вам надо писать
Код: Выделить всё
xlsx.ClearFormat()
xlsx.Format.Border.Format = XLSX:Border_Thick
xlsx.Format.Align = XLSX:ALIGN_CENTER
xlsx.Format.AlignV = XLSX:ALIGN_VERTICAL_CENTER
xlsx.SetFormat()
xlsx.Merge(3, 3, 5, 5)
xlsx.WriteUrl(3, 3, 'http://www.clarionlife.net')
xlsx.WriteString(3, 3, 'Clarionlife')
libxlsxwriter for Clarion
Ну да, этот вариант и использовал.
Но встал вопрос, а почему-бы не использовать string_ и что-бы всё было красиво?
Но встал вопрос, а почему-бы не использовать string_ и что-бы всё было красиво?
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1379
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Переделаю попозже. Дефолтный формат будет применяться, только если не установлен никакой