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 КБ) 995 скачиваний
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Если психиатр учил в детстве русский (или английский) язык, то проблем быть не должно.
Ведь действие и свойство - это разные части речи, и я точно помню что об это рассказывали ...

Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Проверил достаточно навороченные отчёты (по прорисовке рамок) - всё хорошо.
В одном месте полоска отвалилась, но я сам виноват, использовал XLSX:BORDER_NONE для блокирования вывода рамки.
Для решения описанного ранее казуса с отменой рисования рамки, предлагаю ввести отдельное понятие:
Тогда отмена рисования рамки будет вполне понятной:
А если вдруг, что-то изменится, то не придётся по всему коду отлавливать и заменять "255" и т.д. 
В одном месте полоска отвалилась, но я сам виноват, использовал XLSX:BORDER_NONE для блокирования вывода рамки.
Для решения описанного ранее казуса с отменой рисования рамки, предлагаю ввести отдельное понятие:
Код: Выделить всё
XLSX:BORDER_NOT_DRAW EQUATE(255)
Код: Выделить всё
XLSX.Format.Border.Format = XLSX:BORDER_NOT_DRAW

Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Вам видней ...
Я просто в имени указал, что XLSX:BORDER_NOT_DRAW - это значение именно НЕ РИСУЕТ рамку (отмена операции рисования).
Потому что XLSX:BORDER_NONE - это теперь прорисовка невидимой рамки, также как и остальных типов рамок. (ура !)

Я просто в имени указал, что XLSX:BORDER_NOT_DRAW - это значение именно НЕ РИСУЕТ рамку (отмена операции рисования).
Потому что XLSX:BORDER_NONE - это теперь прорисовка невидимой рамки, также как и остальных типов рамок. (ура !)
Последний раз редактировалось Игорь Столяров 31 Январь 2018, 17:01, всего редактировалось 2 раза.
Make Clarion Great Again ! 
- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
libxlsxwriter for Clarion
сделайте что-то вроде этого:
Код: Выделить всё
XLSX:BORDER_TRANSPARENT EQUATE(XLSX:BORDER_NONE)
С уважением, ДП
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Зачем же сразу при рождении ставить на костыли ... 
Это если бы уже была ранее устоявшая терминология, которая задействовалась в отчётах и т.д.

Это если бы уже была ранее устоявшая терминология, которая задействовалась в отчётах и т.д.
Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
"To border" - "окаймлять, граничить, обшивать"
No border - не окаймлять )) (перевод с russian english)
(правильнее конечно будет do not border)
No border - не окаймлять )) (перевод с russian english)
(правильнее конечно будет do not border)
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Согласен ! Потому, что здесь указывается на действие (а точнее его отсутствие) !

Иначе получается как на родине Папы Карло, где всех детей звали Буратино ...

NoBorder, BORDER_NONE, NotBorder ... Запутаемся в усмерть !

Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Добавил функции работы с осями графиков. Обновил шапку
Остальное всё есть
Список функций, которых пока нет в "обертке"
workbook_new_opt
workbook_set_custom_property_string
workbook_set_custom_property_number
workbook_set_custom_property_boolean
workbook_set_custom_property_datetime
workbook_define_name
workbook_get_worksheet_by_name
workbook_validate_worksheet_name
worksheet_write_array_formula
worksheet_data_validation_cell
worksheet_data_validation_range
worksheet_right_to_left
worksheet_protect
format_set_num_format_index
format_set_unlocked
format_set_hidden
chart_series_set_points
chart_series_set_labels_num_format
chart_series_set_error_bars
chart_series_set_error_bars_direction
chart_series_set_error_bars_endcap
chart_series_set_error_bars_line
chart_axis_set_num_format
workbook_set_custom_property_string
workbook_set_custom_property_number
workbook_set_custom_property_boolean
workbook_set_custom_property_datetime
workbook_define_name
workbook_get_worksheet_by_name
workbook_validate_worksheet_name
worksheet_write_array_formula
worksheet_data_validation_cell
worksheet_data_validation_range
worksheet_right_to_left
worksheet_protect
format_set_num_format_index
format_set_unlocked
format_set_hidden
chart_series_set_points
chart_series_set_labels_num_format
chart_series_set_error_bars
chart_series_set_error_bars_direction
chart_series_set_error_bars_endcap
chart_series_set_error_bars_line
chart_axis_set_num_format
libxlsxwriter for Clarion
RaFaeL - спасибо за проект libxlsxwriter for Clarion!
Example - xlsx.exe - без проблем
LibXlsxDemo.exe - Ошибка при запуске (для сведения)

Example - xlsx.exe - без проблем

LibXlsxDemo.exe - Ошибка при запуске (для сведения)

- Вложения
-
- LibXlsxDemo.exe.PNG (7.29 КБ) 2939 просмотров
С Уважением, Developer
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Заранее извиняюсь за простоту, но всё-таки спрошу ... 
А нет ли у кого метода (или хотя бы алгоритма) расчёта высоты строки в XLSX для произвольного текста ?
На входе: строка с текстом, ширина ячейки и параметры шрифта (наименование, вид, размер).
На выходе: высота строки, в которой текст буден виден в несколько строк (wrap).
Ну никак без этого, так или иначе надо решать вопрос c экспортом теста в несколько строк.

А нет ли у кого метода (или хотя бы алгоритма) расчёта высоты строки в XLSX для произвольного текста ?
На входе: строка с текстом, ширина ячейки и параметры шрифта (наименование, вид, размер).
На выходе: высота строки, в которой текст буден виден в несколько строк (wrap).
Ну никак без этого, так или иначе надо решать вопрос c экспортом теста в несколько строк.

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5239
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
libxlsxwriter for Clarion
Создать на экране text-контрол в пикселях и пересчитать в твипсы. Я не зря про это спрашивал. 

C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8032
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Уф ! Даже не знаю как эти неведомые мне твипсы соотносятся с шириной контрола и колонки в Microsoft Excel. 

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5239
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
libxlsxwriter for Clarion
В чем у вас во враппере ширина колонки и высота строки задается, в то и перевести...
C6/C12, ШВС, tps/btrieve.