Страница 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
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:46finsoftrz писал(а): 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:57RaFaeL писал(а): 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:57RaFaeL писал(а): 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, например). Было бы неплохо иметь под рукой.