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 КБ) 984 скачивания
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8021
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Я Вам отправил в личку, пожалуйста смотрите ...

Но обратите внимание, что с группировкой строк есть ньюанс ...
Команда, которая непосредственно выполняет группировку строк:
Код: Выделить всё
ExcelObject{MyXLS & 'Rows("' & Clip(Loc:StartRow) & ':' & Clip(Loc:EndRow) & '").Group'}
Код: Выделить всё
ExcelObject{MyXLS & 'Outline.SummaryRow'} = 0
Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5229
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Да я в курсе по группировкам, в dexcel штатный функционал. Спасибо за файлик, гляну.
C6/C12, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5229
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
У себя добавил... Игорь, Ваш файл из Excel? В нем есть некоторые атрибуты, которые не видел в файлах после libxlsxwriter.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8021
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Есть старая традиция, перед Новым годом идти логическим путём ...

1. Мы обсуждали, что в LibXLSXWriter пока нет группировки строк.
2. Вы попросили пример XLSX файла с группировкой строк.
3. Где бы я его смог взять ? Конечно только создать в самом Microsoft Excel.
4. Так как я ленивый программист - то сделал это быстро через OLE ...

Или Вам нужно, что бы я создал XLSX через XLSXWriter и вручную расставил группировку строк ? Я могу ...

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5229
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Ммм... Могли создать в либре, могли другой программой, могли в excel, могли через ole. В каждом случае результат может быть несколько отличным с точки зрения содержания xml. Я просто хотел понять, насколько отличаются внутренности файла, сформированного libxlsxwriter от файла, сформированного самим Excel, например. Ну да ладно, будем считать, что интерес чисто теоретический на данный момент.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8021
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Ну кто же будет, имея полноценный Microsoft Office, создавать XLSX в режиме совместимости в бесплатном пакете ?
Это безусловно хорошо, что Libre Office поддерживает работу с XLSX, но это ведь не от хорошей жизни ...
А создание XLSX файла через OLE интерфейс ничем не отличается от создания в среде самого Microsoft Excel ...
Здесь вопрос может быть в другом. Microsoft Excel 2016 использует современную спецификацию XLSX, и она может
отличаться по набору команд от базовой, которую использует LibXLSXWriter. Но даже добавив группировку вручную,
мне всё - равно придётся выполнить запись XLSX файла в спецификации Microsoft Excel 2016 ....
Это безусловно хорошо, что Libre Office поддерживает работу с XLSX, но это ведь не от хорошей жизни ...

А создание XLSX файла через OLE интерфейс ничем не отличается от создания в среде самого Microsoft Excel ...
Здесь вопрос может быть в другом. Microsoft Excel 2016 использует современную спецификацию XLSX, и она может
отличаться по набору команд от базовой, которую использует LibXLSXWriter. Но даже добавив группировку вручную,
мне всё - равно придётся выполнить запись XLSX файла в спецификации Microsoft Excel 2016 ....

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5229
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Не знаю я Ваших заморочек на этот счет. Мне, как я писал, "полноценный" Ms Office и даром не нужен, слишком они интерфейс изменили. Я понимаю, что опены сделаны внутри не так продуманно, как Ms. Но халява плюс привычный интерфейс против платного и неудобного в использовании... Возможно, Ms совершило большую ошибку. По своим клиентам сужу, последние версии Ms используют единицы. Большинство либо на старых версиях Ms сидят, либо на опенах. И я в том числе...Игорь Столяров писал(а): 30 Декабрь 2017, 22:54Ну кто же будет, имея полноценный Microsoft Office, создавать XLSX в режиме совместимости в бесплатном пакете ?
(
PS. Изменил запись в своем классе, теперь по скорости примерно сравнялось с libxlsxWriter... Можно новый год готовиться отмечать.

C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8021
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Тогда - с наступающим Новым годом !

А интерфейс Microsoft Office .... ко всему превыкаешь, мне например, жутко не нравился MO2007 с дурацкой лентой.
Пережили ... и это переживём.

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5229
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Кстати, Libre Office Calc работает шустрее, чем Open Office Calc. И есть портативная версия, не требующая установки. Интересный пакет, надо присмотреться...
C6/C12, ШВС, tps/btrieve.
libxlsxwriter for Clarion
У меня на компе стоят WPS Office ( китайский клон MS Office, у него даже OLE работает, как у Офиса) и OnlyOffice Desktop Edition ( очень невелик и абсолютно бесплатен, хотя и не шустр...)
- Губин Игорь
- Шубуршун
- Сообщения: 2574
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
libxlsxwriter for Clarion
Давно уже на него переползли с openoffice. Не в пример лучше
Это я только кажусь дураком! На самом деле я полный идиот!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8021
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Добрый день !
Хотелось бы иметь возможность скрывать / показывать строки / колонки.
Как я понял из описания, вроде бы такой функционал уже реализован в worksheet_set_row_opt() / worksheet_set_column_opt()
Спасибо !

Make Clarion Great Again ! 
libxlsxwriter for Clarion
Не могу нарисовать бордюры на объединении ячеек, подскажи пожалуйста как это делается?
Любить и обещать ничего не стоит