Страница 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", которое устанавливает параметр в значение по умолчанию ?

Например:

Код: Выделить всё

  xlsx.Format.FontSize = -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,'Какой-то длинный текст в несколько строк видеть хотим')
Результат:

popa.jpg

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
А у меня что-то не так :(
Reports.png
Подскажите, в других версиях MSO картинка такая же?

libxlsxwriter for Clarion

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

upd.jpg