Страница 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
Везде бюрократия. 
