libxlsxwriter for Clarion
Программы на Clarion, шаблоны, библиотеки и пр.
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 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 КБ) 1036 скачиваний
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
RaFaeL
- Игорь Столяров
- Ветеран движения
- Сообщения: 8075
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Добавил в штатную демку библиотеки пример экспорта произвольной картинки в квадратную ячейку заданного размера.
Предлагаю обсудить решение вопроса, конструктивная критика приветствуется !
Предлагаю обсудить решение вопроса, конструктивная критика приветствуется !

- Вложения
-
- PictureToSquare.zip
- (28.62 КБ) 169 скачиваний
Make Clarion Great Again ! 
Игорь Столяров
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5304
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
libxlsxwriter for Clarion
В жизни надо, когда высота строки не известна. Как вариант, создавать текстовый контрол и определять высоту.
C6/C12, ШВС, tps/btrieve.
finsoftrz
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5304
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
libxlsxwriter for Clarion
Хотя разумнее выглядит выводить картинку с фиксированными размерами, чтобы соблюдать пропорции.
C6/C12, ШВС, tps/btrieve.
finsoftrz
RaFaeL
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
libxlsxwriter for Clarion
Огромное спасибо Игорь, чувствуется профессиональный подход к вопросу, рамочка и т.п.Игорь Столяров писал(а): 07 Январь 2018, 7:16 Добавил в штатную демку библиотеки пример экспорта произвольной картинки в квадратную ячейку заданного размера.
Предлагаю обсудить решение вопроса, конструктивная критика приветствуется !![]()
С картинками есть много нюансов
1. Картинку можно вставить как "есть", то есть при вставке размер вставляемой картинки файла не меняется и соответственно при вставке больших картинок размер Excel файла будет большой. Для уменьшения размера Excel, уменьшаем размер самих вставляемых картинок.
2. Картинки можно "вставлять" ссылкой только отображая в Excel (2010 и выше) сами файлы будут находится "где то рядом". Удобно, например когда фото на сайте

Макрос в Excel
Код: Выделить всё
Sub CropImage()
Filename$ = "C:\Users\хххх\Desktop\IMG_12082014_222844.png"
Dim pic As Picture
Set pic = ActiveSheet.Pictures.Insert(Filename$) ' вставка на лист
With pic.ShapeRange.PictureFormat ' сколько с какой стороны обрезать
.CropLeft = 50
.CropTop = 60
.CropBottom = 70
.CropRight = 80
End With
End Sub

С праздником всех!
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
Артур
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
RaFaeL
Артур
- Игорь Столяров
- Ветеран движения
- Сообщения: 8075
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Да, я полностью с Вами согласен.
Указанное утром решение является частным случаем, есть много ньюансов связанных с масштабированием
картинок с произвольным разрешением ...
Что касается примеров на VBA - есть смысл посмотреть оригинальное описание библиотеки LibXLSXWriter.
Мы ведь стараемся прикрутить к Clarion существующую библиотеку и использовать её возможности,
а не пишем "с нуля" всё, что позволяет делать язык макросов Microsoft Excel.

Make Clarion Great Again ! 
Игорь Столяров
- Игорь Столяров
- Ветеран движения
- Сообщения: 8075
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Спасибо ! Вопрос с InsertImage() закрыт.

Кстати, хочу обратить внимание на одну приятность.
При экспорте картинок через OLE на больших списках (20-60 т. записей) накапливается вертикальная и горизонтальная
погрешности, картинки "съезжают". Как я понимаю это происходит из-за расчёта графических координат картинок на листе.
Приходится постоянно корректировать, перерисовывать лист и т.д.
В XLSXWriter вставка графики выполняется предельно чётко, а так как можно расчитывать масштабирование рисунков
с высокой точностью то и более корректно и красиво, даже без минимальных искажений.

Make Clarion Great Again ! 
Игорь Столяров
RaFaeL
Артур
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Выше обсуждалось вроде... Если установить свойство WrapText то Excel сам увеличит высоту строки при открытии, Libre так не умеет
Автоподбор ширины колонки - никак (https://libxlsxwriter.github.io/faq.html предпоследний)
Это не свойства файла, это функции рантайма
Автоподбор ширины колонки - никак (https://libxlsxwriter.github.io/faq.html предпоследний)
Это не свойства файла, это функции рантайма
RaFaeL
- Игорь Столяров
- Ветеран движения
- Сообщения: 8075
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Подскажите пожалуйста, а можно ли как-то управлять толщиной линий сетки ?
Часто бывает нужно вертикальной жирной линией отделить группу колонок и практически во всех
отчётах неплохо смотрится при печати отделение шапки двойной линией, например вот так:
Заранее спасибо за помошь !
Часто бывает нужно вертикальной жирной линией отделить группу колонок и практически во всех
отчётах неплохо смотрится при печати отделение шапки двойной линией, например вот так:
Заранее спасибо за помошь !

Make Clarion Great Again ! 
Игорь Столяров
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Можно добавить, я пока этого не делал, так как в кларионе штатно таких типов линий вроде нет
RaFaeL
Вернуться в «Готовые программы, шаблоны, библиотеки...»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)