libxlsxwriter for Clarion
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 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 КБ) 979 скачиваний
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
- Губин Игорь
- Шубуршун
- Сообщения: 2571
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
libxlsxwriter for Clarion
Увы. как я уже писал, формат чистится не менее 6 раз на строку, а то и все 20. А "артефакты" наблюдаются в строках, в которые нет никакой записи.RaFaeL писал(а): 25 Декабрь 2022, 19:36 Скорее всего, забываете чистить формат перед установкой чего-либо
Это я только кажусь дураком! На самом деле я полный идиот!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Я там выше поправил, но возможно уже позже и напишу еще раз. Это поведение похоже на то, что вы не очищаете формат перед применением ширины колонки, вот он и ставится для всей колонкиГубин Игорь писал(а): 25 Декабрь 2022, 19:39 Увы. как я уже писал, формат чистится не менее 6 раз на строку, а то и все 20. А "артефакты" наблюдаются в строках, в которые нет никакой записи.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Так тебе что надо, выгружать или загружать? Если загружать и напрямую из файла, могу глянуть в загашнике, когда-то пробовал формировать xlsx на уровне этих файлов, след есть.Губин Игорь писал(а): 25 Декабрь 2022, 19:37Ну да, нашёл. Но трам-тарарам, без пол литра не разобраться.finsoftrz писал(а): 25 Декабрь 2022, 19:27 Насколько я помню, содержимое числовых ячеек хранится в одном основном xml, а строки (или только длинные строки) в другом (из основного ссылка на них)![]()
C6/C12, ШВС, tps/btrieve.
- Губин Игорь
- Шубуршун
- Сообщения: 2571
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
libxlsxwriter for Clarion
Мне надо выгружать. Проблема загрузки из файла интересует, исключительно, из любопытства. В своё время я загружал файлы из xls через ole и это было очень медленно.finsoftrz писал(а): 25 Декабрь 2022, 19:56 Так тебе что надо, выгружать или загружать? Если загружать и напрямую из файла, могу глянуть в загашнике, когда-то пробовал формировать xlsx на уровне этих файлов, след есть.
Пытаюсь понять, с чего эти разработчики приборов так привязались к формату экселя. При чём они, явно, грузят из него напрямую, а не через csv, т.к. очень жёсткие требования к формату ячеек.
Это я только кажусь дураком! На самом деле я полный идиот!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Да у них какая-нибудь управляющая софтина так сделана. Они художники, они так видят.
C6/C12, ШВС, tps/btrieve.
libxlsxwriter for Clarion
Добрый день. Отличная библитека для создания файлов xlsx.
По сравнению с EasyExcel, которой до этого пользовался - все летает.
Но наткнулся на одну непонятку с созданием фильтра на колонку.
В демо примере все отлично компилится и работает.
Перенес в свой проект - ошибка компиляции (Label in prototype not defined: XLAUTOFILTEROPERATOR ) на строке с вызовом проседуры xlsx.Autofilter() (код взял из примера, где нет ошибки)
Убираю (комментирую) строку с Autofilter - все собирается.
Что я делаю не так.
CLARION 10, версия библиотеки от 30.12.2021
P.S. Разница с примером одна: пример собирается , как локальный exe-модуль, а мой проект - DLL.
Но с другими процедурами/функциями из библиотеки (я конечно не все использовал) проблем компиляции нет.
По сравнению с EasyExcel, которой до этого пользовался - все летает.
Но наткнулся на одну непонятку с созданием фильтра на колонку.
В демо примере все отлично компилится и работает.
Перенес в свой проект - ошибка компиляции (Label in prototype not defined: XLAUTOFILTEROPERATOR ) на строке с вызовом проседуры xlsx.Autofilter() (код взял из примера, где нет ошибки)
Код: Выделить всё
xlsx &=NEW(xlsxwriter)
xlsx.NewWorkbook(LocPathExcelFile)
worksheet#=xlsx.AddSheet('Отчет')
xlsx.SetColumn(1,1,40)
xlsx.SetColumn(2,2,90)
xlsx.ClearFormat()
err#=xlsx.WriteNumber(9,5,10)
err#=xlsx.WriteString(10,5,'Тест')
err#=xlsx.Autofilter(1,5,5,5)
Что я делаю не так.
CLARION 10, версия библиотеки от 30.12.2021
P.S. Разница с примером одна: пример собирается , как локальный exe-модуль, а мой проект - DLL.
Но с другими процедурами/функциями из библиотеки (я конечно не все использовал) проблем компиляции нет.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
XLAUTOFILTEROPERATOR в моей библиотеке нет. Поищите по своим исходникам и прилинкованным библиотекам, где встречается Autofilter, какой-то конфликт
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Могу подтвердить, что при сборке проектов с Multi-DLL библиотека LibXLSXWriter работает без проблем.
Как и во многих других случаях - рекомендую сделать простой пример для демонстрации проблемы,
который мы сможем собрать на заведомо рабочей среде разработки без всего что Вы в неё понаставили.
И вот тогда уже можно будет ответить на Ваш вопрос по существу.
Как и во многих других случаях - рекомендую сделать простой пример для демонстрации проблемы,
который мы сможем собрать на заведомо рабочей среде разработки без всего что Вы в неё понаставили.
И вот тогда уже можно будет ответить на Ваш вопрос по существу.

Make Clarion Great Again ! 
libxlsxwriter for Clarion
Нашел конфликт. Как я уже писал, хочу уйти от EasyExcel, но сразу во всей APP переписать все процедуры не получается, иду по одной.
Убрал из проекта EasyExcel - ошибка ушла.
Убрал из проекта EasyExcel - ошибка ушла.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
EasyExcel если ничего не путаю это вроде разработка Дед Пахом. Если мне кто-то скажет, что поменять, чтобы конфликта не было, то поменяю, но пока не знаю что. Раз что метод класса переименовать, но не хотелось бы
libxlsxwriter for Clarion
Спасибо за ответы, подсказали куда "копать". Т.к. к исходникам EasyExcel доступа нет, а сразу отказаться (выкинуть из проекта) не могу, решил проблему переименованием процедуры Autofilter в классе. Прокатило.
Остался вопрос, возможно ли задать фильтр целиком на столбец?
Остался вопрос, возможно ли задать фильтр целиком на столбец?
libxlsxwriter for Clarion
EasyExcel это от IngaSoft (http://www.ingasoftplus.com/About.php), платная обертка.RaFaeL писал(а): 27 Апрель 2024, 15:35 EasyExcel если ничего не путаю это вроде разработка Дед Пахом. ..
Не знаю, Дед Пахом приложил к этому руку или нет.
В принципе есть практически все , что нужно. Но два минуса:
1. медленно работает с большими объемами
2. в условиях "импортозамещения", требование установки MS Excel на компьютере начинает ставить проблемы
Последний раз редактировалось Alex_G 27 Апрель 2024, 16:48, всего редактировалось 2 раза.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
А Вы можете задать автофильтр на всю колонку в Microsoft Excel ?
Make Clarion Great Again ! 
libxlsxwriter for Clarion
В принципе, да .Игорь Столяров писал(а): 27 Апрель 2024, 15:45 А Вы можете задать автофильтр на всю колонку в Microsoft Excel ?
Выделяю весь столбец, щелкая на "заголовке", и нажимаю "Фильтр".
В EasyExcel так и реализовано, Фильтр действует на выделенный диапазон, а выделить можно целиком один или несколько столбцов, опуская номера строк .
Здесь, как я понимаю, реализовано явным заданием диапазона, не допускающим неуказание границ.
С этим тоже можно работать, задавая заведомо максимальный номер строки. Не проблема
libxlsxwriter for Clarion
Не думаю, что в законченном проекте будет использоваться и Libxlsxwriter и EasyExcel. У меня процесс перехода с одной на другую, вот и наткнулся.RaFaeL писал(а): 27 Апрель 2024, 15:35 ... Если мне кто-то скажет, что поменять, чтобы конфликта не было, то поменяю, но пока не знаю что. Раз что метод класса переименовать, но не хотелось бы