Страница 26 из 62
libxlsxwriter for Clarion
Добавлено: 12 Февраль 2017, 14:06
RaFaeL
Создание файлов Excel (xlsx) без использования Excel на основе проекта libxlsxwriter (
https://libxlsxwriter.github.io). Можно создавать файлы, листы в них, писать данные (текст (в т.ч. русский), число, дата, время), ставить форматирование (цвет, рамки, шрифт, выравнивание, размер), объединять ячейки, фиксировать и скрывать строки и колонки, вставлять изображения, рисовать графики (диаграммы), устанавливать настройки печати и свойства документа.
Для конвертирования "картинок" форматов используется библиотека Tpicture от Taboga, у кого этого класса нет замените на что-то свое
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:00
Игорь Столяров
finsoftrz писал(а): 01 Февраль 2018, 17:45враппере ширина колонки и высота
Начнём с того, что ширина и высота ячейки в Microsoft Excel задаётся в совсем разных единицах измерения.
Конкретно интересующая нас ширина дословно: "в кол-ве символов стандартным шрифтом".
О ! Т.е. как минимум нужно знать какой шрифт в данной копии Microsoft Excel считается стандартным и
усреднённыё показатель ширины символа этим шрифтом ...
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:27
finsoftrz
Ежику понятно, что в разных... В xlsx, как я понял, стандартным шрифтом является тот, который с индексом 0. То есть первый в списке создаваемых.
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:29
finsoftrz
Не правильно написал. Тот, который соответствует стилю с индексом 0. Надо уточнить на всякий случай.
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:37
Игорь Столяров
Ёжику конечно хорошо ... но дело в том, что если даже гипотетически вычислить этот показатель - это будет информация ни о чём.
Есть конкретная ячейка (или несколько ячеек). Ширина, предположим 40 этих самых символов (задаётся в XLSXWriter).
Но сколько это будет строк - зависит от букв в конкретном тексте, да ещё с учётом переноса по словам.
Внутри среды Excel - этот вопрос решается. Как быть ёжику в этой ситуации - непонятно ...

libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:40
finsoftrz
Кстати, в опенах единицы измерения отличаются от excel, насколько помню. Поэтому могут быть нюансы с округлением.
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:44
finsoftrz
Создаете на экране text-контрол с нужным шрифтом и нужной ширины. Вписываете туда значение. Смотрите количество строк. Получаете высоту. Переводите в единицы для excel...
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 18:58
Игорь Столяров
В теории конечно светло ... но перед тем как создать контрол, сначала нужно (как-то) узнать его ширину по ширине ячейки.
А потом полученное кол-во строк перевести в совсем другие единицы измерения высоты. И кстати, не факт, что межстрочный
интервал и правила переноса слов в контроле и ячейке Microsoft Excel совсем одинаковы. Короче, тупиковый путь.

libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 19:10
finsoftrz
Ширина ячеек известна, Вы их сами устанавливаете. Вопрос в переводе в пиксели. Правила переноса по идее должны быть аналогичны. Пробовать, конечно, надо. А какие еще варианты вычисления высоты строки?
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 20:38
Игорь Столяров
RaFaeL писал(а): 31 Январь 2018, 16:43Я добавил XLSX:NoBorder
Я вот день поработал, и хочу сказать, что процесс рисования сетки для более или менее сложных
бланков упростился раза в два точно. (а если тупо рисовать сетку на всю таблицу - то без разницы)
Но главное: появилась некая логическая последовательность и целостность в этом процессе,
которая видимо отцами-основателями библиотеки в неё и закладывалась изначально.
Спасибо ещё раз !

libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 21:26
RaFaeL
Добавил функции установки формата чисел в графиках. Исправил небольшой нюанс - не сбрасывался "жирный" шрифт в графиках, какая-то проблема внутри библиотеки, не нашел в чем причина, автор старательно кивает в мою сторону, но зато нашел, как это проблему обойти. Занимательно, в целом ))
Изменился метод вставки графиков в лист!
Обновил шапку
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_protect
format_set_num_format_index
format_set_unlocked
format_set_hidden
chart_series_set_points
chart_series_set_error_bars
chart_series_set_error_bars_direction
chart_series_set_error_bars_endcap
chart_series_set_error_bars_line
Готово уже более 90%. Думаю пора выкладывать в мировой прокат, но не знаю как и куда. Гитхаб что-то слишком замороченным показался
libxlsxwriter for Clarion
Добавлено: 01 Февраль 2018, 21:39
Игорь Столяров
RaFaeL писал(а): 01 Февраль 2018, 21:26Гитхаб что-то слишком замороченным показался
Да, вариантов кроме него и нет ... Все там.
Проконсультируйтесь у Деда Пахома. У него в том лесу давно пасека стоит ...

libxlsxwriter for Clarion
Добавлено: 02 Февраль 2018, 0:24
RaFaeL
Выложил сюда
https://sourceforge.net/projects/libxlsxwriter/
Там то же самое, что здесь, только пример на английском
libxlsxwriter for Clarion
Добавлено: 02 Февраль 2018, 1:50
finsoftrz
Игорь Столяров писал(а): 01 Февраль 2018, 18:58В теории конечно светло ... но перед тем как создать контрол, сначала нужно (как-то) узнать его ширину по ширине ячейки.
А потом полученное кол-во строк перевести в совсем другие единицы измерения высоты. И кстати, не факт, что межстрочный
интервал и правила переноса слов в контроле и ячейке Microsoft Excel совсем одинаковы. Короче, тупиковый путь.

Ну, почему тупиковый. Работает все. Причем, можно и не только одну строку ресайзить, а, к примеру, последнюю из заданной области или задаваемую...
libxlsxwriter for Clarion
Добавлено: 02 Февраль 2018, 7:04
Игорь Столяров
Круто ! И сразу конкурент нарисовался со своим двухсотбаксовым интерфейсом на ClarionHUB !

Вообще, конечно, интересна реакция мировой общественности. Му тут, что-то потихоньку кропаем,
а кто знает какие вопросы возникнут при экспорте на иврите или иероглифах ...

libxlsxwriter for Clarion
Добавлено: 02 Февраль 2018, 13:38
Игорь Столяров
Мило пообщался по e-mail с автором библиотеки. Дайджестом:
Если кому-то (кроме меня) интересна реализация в XLSXWriter группировка строк,
сказали идти регистрироваться и лайкать вот сюда:
https://github.com/jmcnamara/libxlsxwriter/issues/30
Везде бюрократия.
