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 КБ) 994 скачивания
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Подскажите пожалуйста, правильно ли я понимаю, что в библиотеки есть "служебное"
значение параметров "-1", которое устанавливает параметр в значение по умолчанию ?
Например:
А для каких вообще параметров допустимо такое значение "-1" ?
значение параметров "-1", которое устанавливает параметр в значение по умолчанию ?
Например:
Код: Выделить всё
xlsx.Format.FontSize = -1
Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
-1 где-то есть, где-то нет, где-то просто в этом случае ничего не делается. Где-то документировано, где-то нет
Про шрифты интересно. Похоже что зависит от установленных в системе шрифтов, так как у меня тот же релиз Офиса открывает же...
Попробуйте убрать параметр с именем шрифта или какие-то другие (любой параметр шрифта можно опустить)
Про шрифты интересно. Похоже что зависит от установленных в системе шрифтов, так как у меня тот же релиз Офиса открывает же...
Попробуйте убрать параметр с именем шрифта или какие-то другие (любой параметр шрифта можно опустить)
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Т.е. если я выведу надпись каким-нибудь экзотическим шрифтом, который есть только у меня на компьютере,
то он не будет внедрён в XLSX и на другом компьютере при просмотре будет непредсказуемый результат ?
Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
А вот и первый затык библиотеки, который невозможно обойти. 
Результат:

Код: Выделить всё
xlsx.ClearFormat()
xlsx.Format.WrapText = True
xlsx.SetFormat()
err#=xlsx.WriteString(12,12,'Какой-то длинный текст в несколько строк видеть хотим')
err#=xlsx.Merge(14,12,14,13)
err#=xlsx.WriteString(14,12,'Какой-то длинный текст в несколько строк видеть хотим')
Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Проблему со шрифтами локализовал и похоже что поправил, проверьте, пожалуйста
Последний раз редактировалось RaFaeL 17 Январь 2018, 17:34, всего редактировалось 1 раз.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5238
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
libxlsxwriter for Clarion
Надо к обоим объединяемым ячейкам применить стиль с wrap. У Вас, как я понимаю, надо вывести WriteBlank в 14/13 с тем же "форматом", как в 14/12.Игорь Столяров писал(а): 17 Январь 2018, 10:53А вот и первый затык библиотеки, который невозможно обойти.
Результат:Код: Выделить всё
xlsx.ClearFormat() xlsx.Format.WrapText = True xlsx.SetFormat() err#=xlsx.WriteString(12,12,'Какой-то длинный текст в несколько строк видеть хотим') err#=xlsx.Merge(14,12,14,13) err#=xlsx.WriteString(14,12,'Какой-то длинный текст в несколько строк видеть хотим')
popa.jpg
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Нет, это совсем другая история ....
Кстати, можете попробовать сделать то же самое на своей библиотеке - получите такой же результат (к сожалению).
Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5238
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
libxlsxwriter for Clarion
Да, еще вчера добил управление осями графиков.
Из того, что может Вам потребоваться во враппере и пока нет - вставка разрывов страниц по горизонтали и вертикали, печать на заданное количество страниц по вертикали и горизонтали. Это, конечно, уже мелочи...
Из того, что может Вам потребоваться во враппере и пока нет - вставка разрывов страниц по горизонтали и вертикали, печать на заданное количество страниц по вертикали и горизонтали. Это, конечно, уже мелочи...
C6/C12, ШВС, tps/btrieve.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Это всё очень хорошо, здорово и наверно тоже нужно ....
Но дело в том, что если (как-то) не обойти указанное мною ограничение, то невозможно нарисовать ни один оперативный отчёт (счёт-фактура, ТОРГ-12, УПД, ТТН и т.д.)

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

Последний раз редактировалось vic7tar 17 Январь 2018, 14:13, всего редактировалось 6 раз.
C10, Win10x64
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
libxlsxwriter for Clarion
Может быть мы конечно опять о разном говорим .... Но вот пример шапки самого обычного отчёта: УПД (нарисован в OLE).
Как не нужно ? Вы же не выводите все реквизиты одной строкой и не делаете высоту по 5 строк под все реквизиты ?
Make Clarion Great Again ! 