Страница 19 из 62

libxlsxwriter for Clarion

Добавлено: 12 Февраль 2017, 14:06
RaFaeL
Создание файлов Excel (xlsx) без использования Excel на основе проекта libxlsxwriter (https://libxlsxwriter.github.io). Можно создавать файлы, листы в них, писать данные (текст (в т.ч. русский), число, дата, время), ставить форматирование (цвет, рамки, шрифт, выравнивание, размер), объединять ячейки, фиксировать и скрывать строки и колонки, вставлять изображения, рисовать графики (диаграммы), устанавливать настройки печати и свойства документа.
Для конвертирования "картинок" форматов используется библиотека Tpicture от Taboga, у кого этого класса нет замените на что-то свое

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 14:17
RaFaeL
vic7tar писал(а): 17 Январь 2018, 13:40А у меня что-то не так
На верхнем скриншоте правильная картинка, а что такое Gnumeric я не знаю )

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 14:38
RaFaeL
vic7tar писал(а): 17 Январь 2018, 13:40А у меня что-то не так
На верхнем скриншоте правильная картинка, а что такое Gnumeric я не знаю )

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 14:42
vic7tar
Вот.
Report.zip
(31.35 КБ) 120 скачиваний

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 14:44
RaFaeL
Все нормально генерируется, почему программа с нижнего скриншота не рисует нормально графики думаю надо у нее спросить )
Вероятно, многое просто не поддерживает

libxlsxwriter for Clarion

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

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 14:51
vic7tar
Gnumeric -> GNUmeric (https://ru.wikipedia.org/wiki/Gnumeric). Иногда использую.

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 14:57
Игорь Столяров
RaFaeL писал(а): 17 Январь 2018, 14:46Рассчитывать высоту строки и ее применять, иначе никак.
Видимо да. :( Придётся скрещивать экспорт отчётов с идеей Деда Пахома по расчёту реальной ширины строки ....
viewtopic.php?f=1&t=4040

libxlsxwriter for Clarion

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


upd.jpg
По моим представлениям в данном случае надо играть размером шрифта, а не высотой строки. То есть закладываем в бланк некую разумную высоту, чтобы смотрелось хорошо и в большинстве случаев подходило как есть. А если не помещается, уменьшаем размер шрифта. И еще, наверно, важно отметить, что безразмерные строки, в которых может быть что угодно, чаще всего из области фантазии программистов. :-)

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 15:59
RaFaeL
Обновил сборку в шапке

Кроме исправления проблем со шрифтами в метод Merge добавил строку необязательным параметром, можно сразу при объединении текст писать

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 16:36
Игорь Столяров
RaFaeL писал(а): 17 Январь 2018, 15:59 можно сразу при объединении текст писать
Спасибо ! Действительно полезная фишка, которая позволит сильно сократить код экспорта ! :)

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 17:10
vic7tar
Игорь Столяров писал(а): 17 Январь 2018, 14:57
RaFaeL писал(а): 17 Январь 2018, 14:46Рассчитывать высоту строки и ее применять, иначе никак.
Видимо да. :( Придётся скрещивать экспорт отчётов с идеей Деда Пахома по расчёту реальной ширины строки ....
viewtopic.php?f=1&t=4040
Стандартными средствами экселя подогнать высоту заполненной объединенной ячейки можно только мышкой. Писал давно макрос, конечно же с использованием апишных функций: на входе ширина об.ячейки+сам текст+хар-ки шрифта, на выходе - высота строки. Поискать?

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 17:26
Игорь Столяров
vic7tar писал(а): 17 Январь 2018, 17:10Стандартными средствами экселя подогнать высоту заполненной объединенной ячейки можно только мышкой
Ничего подобного. Я же в одном из предыдущих сообщений показал пример, как это делается через OLE ....

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 17:33
finsoftrz
vic7tar писал(а): 17 Январь 2018, 17:10
Игорь Столяров писал(а): 17 Январь 2018, 14:57
RaFaeL писал(а): 17 Январь 2018, 14:46Рассчитывать высоту строки и ее применять, иначе никак.
Видимо да. :( Придётся скрещивать экспорт отчётов с идеей Деда Пахома по расчёту реальной ширины строки ....
viewtopic.php?f=1&t=4040
Стандартными средствами экселя подогнать высоту заполненной объединенной ячейки можно только мышкой. Писал давно макрос, конечно же с использованием апишных функций: на входе ширина об.ячейки+сам текст+хар-ки шрифта, на выходе - высота строки. Поискать?
А функций преобразования пикселей в твипсы по x и y случайно нет?

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 17:37
vic7tar
А в чем подвох в вопросе?

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 17:45
finsoftrz
Там непросто. Надо определить разрешение экрана в пикселях через win api, а затем через формулы перевести в твипсы. В VB есть стандартные функции для этого, а в кларионе нет. В твипсах же считаются координаты внутри офисных форматов (xlsx, rtf, например). Было бы неплохо иметь под рукой.