Страница 18 из 62
libxlsxwriter for Clarion
Добавлено: 12 Февраль 2017, 14:06
RaFaeL
Создание файлов Excel (xlsx) без использования Excel на основе проекта libxlsxwriter (
https://libxlsxwriter.github.io). Можно создавать файлы, листы в них, писать данные (текст (в т.ч. русский), число, дата, время), ставить форматирование (цвет, рамки, шрифт, выравнивание, размер), объединять ячейки, фиксировать и скрывать строки и колонки, вставлять изображения, рисовать графики (диаграммы), устанавливать настройки печати и свойства документа.
Для конвертирования "картинок" форматов используется библиотека Tpicture от Taboga, у кого этого класса нет замените на что-то свое
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 8:31
Игорь Столяров
Подскажите пожалуйста, правильно ли я понимаю, что в библиотеки есть "служебное"
значение параметров "-1", которое устанавливает параметр в значение по умолчанию ?
Например:
А для каких вообще параметров допустимо такое значение "-1" ?
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 10:03
RaFaeL
-1 где-то есть, где-то нет, где-то просто в этом случае ничего не делается. Где-то документировано, где-то нет
Про шрифты интересно. Похоже что зависит от установленных в системе шрифтов, так как у меня тот же релиз Офиса открывает же...
Попробуйте убрать параметр с именем шрифта или какие-то другие (любой параметр шрифта можно опустить)
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 10:14
Игорь Столяров
RaFaeL писал(а): 17 Январь 2018, 10:03Похоже что зависит от установленных в системе шрифтов
Т.е. если я выведу надпись каким-нибудь экзотическим шрифтом, который есть только у меня на компьютере,
то он не будет внедрён в XLSX и на другом компьютере при просмотре будет непредсказуемый результат ?
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 10:26
RaFaeL
Шрифты не внедряются, остальное не знаю
libxlsxwriter for Clarion
Добавлено: 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,'Какой-то длинный текст в несколько строк видеть хотим')
Результат:
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 11:42
RaFaeL
Проблему со шрифтами локализовал и похоже что поправил, проверьте, пожалуйста
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 12:11
finsoftrz
Игорь Столяров писал(а): 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
Надо к обоим объединяемым ячейкам применить стиль с wrap. У Вас, как я понимаю, надо вывести WriteBlank в 14/13 с тем же "форматом", как в 14/12.
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 12:28
Игорь Столяров
finsoftrz писал(а): 17 Январь 2018, 12:11как я понимаю
Нет, это совсем другая история ....
Кстати, можете попробовать сделать то же самое на своей библиотеке - получите такой же результат (к сожалению).
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 12:45
finsoftrz
У меня все нормально выводится.
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 12:48
finsoftrz
Да, еще вчера добил управление осями графиков.
Из того, что может Вам потребоваться во враппере и пока нет - вставка разрывов страниц по горизонтали и вертикали, печать на заданное количество страниц по вертикали и горизонтали. Это, конечно, уже мелочи...
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 12:49
RaFaeL
finsoftrz писал(а): 17 Январь 2018, 12:45У меня все нормально выводится.
Сделайте три строки текста, а объединенных строк две
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 13:18
Игорь Столяров
finsoftrz писал(а): 17 Январь 2018, 12:48Да, еще вчера добил управление осями графиков.
Это всё очень хорошо, здорово и наверно тоже нужно ....
Но дело в том, что если (как-то) не обойти указанное мною ограничение, то невозможно нарисовать ни один оперативный отчёт (счёт-фактура, ТОРГ-12, УПД, ТТН и т.д.)

libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 13:28
finsoftrz
Да, обрезает. Причем я и в офисе не вижу, как сделать. Скорее всего, такое не поддерживается офисами.
Проблема в том, что wrap делается, но высота объединяемых строк не изменяется. В оперативных отчетах такое не нужно. В шапках высота задается фиксировано. А в строках объединять ячейки не требуется.
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 13:40
vic7tar
А у меня что-то не так
Подскажите, в других версиях MSO картинка такая же?
libxlsxwriter for Clarion
Добавлено: 17 Январь 2018, 13:46
Игорь Столяров
finsoftrz писал(а): 17 Январь 2018, 13:28В оперативных отчетах такое не нужно.
Может быть мы конечно опять о разном говорим .... Но вот пример шапки самого обычного отчёта: УПД (нарисован в OLE).
Как не нужно ? Вы же не выводите все реквизиты одной строкой и не делаете высоту по 5 строк под все реквизиты ?