libxlsxwriter for Clarion
Программы на Clarion, шаблоны, библиотеки и пр.
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 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 КБ) 1050 скачиваний
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
RaFaeL
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Да, спасибо, я понял. Никаких проблем.
Рекомендуемое и правильное решение вопроса я услышал, будем делать !

Make Clarion Great Again ! 
Игорь Столяров
RaFaeL
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Попробовал сам. Работает отлично, но пока нет настройки расположения управляющих кнопок
RaFaeL
RaFaeL
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Я извиняюсь за свою темноту, но что-то никак не могу прокусить это место ...Дед Пахом писал(а): 04 Февраль 2018, 11:32На кой ляд класс в приложении объявлять? include('myxlsx.inc')

Если я в хвост xlsxWriter.inc добавлю свой класс (и далее в программе его использую), то всё прекрасно.
Код: Выделить всё
!xlsxWriter.inc
....
xlsxmyuser CLASS(xlsxwriter), TYPE, MODULE('myxlsx.clw'), LINK('myxlsx.clw')
MyLong Long
END
и в APP -> After Global Include добавляю строчку с его включением в проект:
Код: Выделить всё
Include('xlsxwriter.inc')
Include('myxlsx.inc')
Почему всё так ?

Make Clarion Great Again ! 
Игорь Столяров
- Дед Пахом
- Старичок
- Сообщения: 3306
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
libxlsxwriter for Clarion
myxlsx.inc должен содержать строку
а APP не должен.
Код: Выделить всё
Include('xlsxwriter.inc')
С уважением, ДП
Дед Пахом
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Неа ! Пробовал. Что-то тут не чисто ...

Сделал элементарный концепт проблемы на основе штатного примера.
Если есть возможность - посмотрите пожалуйста.
Последний раз редактировалось Игорь Столяров 07 Февраль 2018, 7:21, всего редактировалось 2 раза.
Make Clarion Great Again ! 
Игорь Столяров
- Дед Пахом
- Старичок
- Сообщения: 3306
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Дед Пахом
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
О ! Раньше форум RAR не принимал ... 
Заменяем на ZIP.

Заменяем на ZIP.
- Вложения
-
- bad_class.zip
- (8.06 КБ) 97 скачиваний
Make Clarion Great Again ! 
Игорь Столяров
- Дед Пахом
- Старичок
- Сообщения: 3306
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
libxlsxwriter for Clarion
В xlsxmy.clw не тот файл инклюдится.
Так у меня по крайней мере компилится (но не собирается, потому что lib не подключена в проекте).
Код: Выделить всё
Include('xlsxmy.inc')
С уважением, ДП
Дед Пахом
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Ура ! Заработало ! Спасибо ! 
Но как всё запущено ... Почему бы компилятору не написать это человеческим языком ?
Теперь можно добавлять свои методы и данные в XLSXWriter не изменяя авторскую обёртку,
сделанный ранее код на 100% совместим и абсолютно нет необходимости вводить для этого
пятиэтажные имена данных и методов. Это место проехали. Ещё раз спасибо !

Но как всё запущено ... Почему бы компилятору не написать это человеческим языком ?
Теперь можно добавлять свои методы и данные в XLSXWriter не изменяя авторскую обёртку,
сделанный ранее код на 100% совместим и абсолютно нет необходимости вводить для этого
пятиэтажные имена данных и методов. Это место проехали. Ещё раз спасибо !

Make Clarion Great Again ! 
Игорь Столяров
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Рискну ещё выйти с предложением ...
Можно ли добавить в метод MERGE обработку особого условия:
Потому что, например, вот такой код просто игнорируется:
Когда идёт прорисовка отчёта в динамике, эпизодически попадаю на эту комбинацию ...
В общем-то нет ничего плохого в том, что в метод передаётся "диапазон" из одной ячейки, это скорее особенность
библиотеки по работе с диапазонами, которую можно убрать.

Код: Выделить всё
xlsxwriter.Merge ...
if omitted(6)
....
elsIf (first_row_ = last_row_) and (first_col_ = last_col_)
Self.WriteString( ....
else ...
....
Код: Выделить всё
Row# = 5
Col# = 3
xlsxwriter.Merge(Row#,Col#,Row#,Col#,'Привет !')
В общем-то нет ничего плохого в том, что в метод передаётся "диапазон" из одной ячейки, это скорее особенность
библиотеки по работе с диапазонами, которую можно убрать.
Make Clarion Great Again ! 
Игорь Столяров
RaFaeL
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
libxlsxwriter for Clarion
Спасибо. А вот еще вопрос с фронта работ (я ещё разбираюсь !).
Группировка строк устанавливается методом SetRow(), у которого второй обязательный параметр - это высота строки.
Т.е. получается, что строки с WrapText нельзя группировать ?
Точнее обязательно нужно жёстко устанавливать высоту строки внутри группы. Я правильно понимаю ?
Группировка строк устанавливается методом SetRow(), у которого второй обязательный параметр - это высота строки.
Т.е. получается, что строки с WrapText нельзя группировать ?
Точнее обязательно нужно жёстко устанавливать высоту строки внутри группы. Я правильно понимаю ?
Make Clarion Great Again ! 
Игорь Столяров
Вернуться в «Готовые программы, шаблоны, библиотеки...»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)