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 раз.
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
libxlsxwriter for Clarion
Просто кто то повторил за разработчиком библиотеки.

Но мы все равно говорим

Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
libxlsxwriter for Clarion
1. желательно перенести пример в папку ExampleS\libxlsxwriter, что бы при копировании папок сразу в отдельную попадало
2. где нибудь в начале xlsxwriter.clw вставитьдля подключения lib файла. он же нам вроде безусловно нужен при подключении clw
3. написал простенький шаблон для подключения класса в программу. в простой EXE и в EXE+DLL
поместить шаблон libxlsxwriter.tpl в папку Template
4. классы описать как
5. пакетик по моему под папку 3rdparty заточен...
2. где нибудь в начале xlsxwriter.clw вставить
Код: Выделить всё
PRAGMA ('link (libxlsxw.lib)')
3. написал простенький шаблон для подключения класса в программу. в простой EXE и в EXE+DLL
поместить шаблон libxlsxwriter.tpl в папку Template
4. классы описать как
Код: Выделить всё
xlsxwriter CLASS, TYPE, MODULE('xlsxwriter.clw'), LINK('xlsxwriter.clw',_ABCLinkMode_), DLL(_ABCDllMode_)
...
END
xlsxchart CLASS, TYPE, MODULE('xlsxwriter.clw'), LINK('xlsxwriter.clw',_ABCLinkMode_), DLL(_ABCDllMode_)
...
END
- Вложения
-
- libxlsxwriter.tpl
- (1.81 КБ) 277 скачиваний
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
libxlsxwriter for Clarion
Это... я не настаиваю конечно же 

Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
libxlsxwriter for Clarion
Давно в стандартные классы заглядывал?

Поищи там слово PRAGMA
Если в шаблон помещать, придется условия проверять. А в CLW безусловно, если он используется LIB нужно подключать!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Выложил в шапку новую версию
В методе InsertImage параметр добавился в середину, кто недавно добавлял описание, ссылку и подсказку к картинке придется их подвинуть
В методе InsertImage параметр добавился в середину, кто недавно добавлял описание, ссылку и подсказку к картинке придется их подвинуть
- Игорь Столяров
- Ветеран движения
- Сообщения: 8020
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Классная штука, доложу я Вам.

Прописал у себя в субклассе и теперь можно не следить, что бы в APP был подключен LIB.
Плюс бонус: нет вопроса при конвертировании APP из CW6 в CW11.

Make Clarion Great Again ! 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8020
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Упс ! Точно. Тогда у себя в субклассе можно отключить. 

Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Обновил шапку: добавлен метод вставки изображения из памяти. Также исправлен не очень понятный баг с размером изображения (Issue 274), надеюсь его пофиксят в мастере
- Игорь Столяров
- Ветеран движения
- Сообщения: 8020
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Ещё раз спасибо - всё прекрасно работает.
Решается старый вопрос: при большом кол-ве добавляемых картинок их все нужно было хранить на HDD до записи XLSX
(а потом ещё и удалять - что тоже время). Теперь красота - записали буфер с картинкой и забыли про него.

Поэтому получается даже выгодней в субклассе сделать метод, который загрузить картинку из файла в буфер и запишет
этот буфер в XLSX.
Предположение:
следует считать верным. Разница размера XLSX при потоковом записи картинок из буфера в BMP и этих же картинокfinsoftrz писал(а): 11 Февраль 2020, 6:26 Xlsx это zip архив. По идее, bmp должны сильно сжиматься. Проверяли?
преобразованных в PNG с хорошим сжатием (а это кстати время и потеря качества картинки !) составляет порядка 10% …
Нужны ли все эти танцы с бубном преобразования в PNG ради 10% объёма ? Пожалуй нет - выбираем скорость и надёжность.

P/S: Написанное выше следует понимать буквально. Т.е. если, например, мы делаем XLSX каталог c картинками товаров
размером 200x200 и у нас есть исходные фотки товаров в Full HD - то конечно их нужно масштабировать (не смена формата !)
перед вставкой в XLSX.
Make Clarion Great Again ! 
libxlsxwriter for Clarion
При использовании библиотеки возникает ошибка при открытии книги в Excel
В книге "книга.xlsx" обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги? Да Нет.
Выбираю Да вижу файл как задумал.
Я нашёл место в программе
если комментирую строку ошибки нет. Но нет и объединения ячеек в таблице.
В книге "книга.xlsx" обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги? Да Нет.
Выбираю Да вижу файл как задумал.
Я нашёл место в программе
Код: Выделить всё
err#=xlsx.Merge(RowST,1,RowST,5)
С уважением Larion.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8020
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Расскажите пожалуйста как Вам удалось открыть книгу в XLSX ?
Или речь идёт о СОЗДАНИИ новой книги (XLSX.NewWorkBook) ?
Make Clarion Great Again ! 
libxlsxwriter for Clarion
книга.xlsx Это имя файла созданного при помощи библиотеки.
Это сообщение Excel
В книге "книга.xlsx" обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги? Да Нет.
Это сообщение Excel
В книге "книга.xlsx" обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги? Да Нет.
С уважением Larion.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5229
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
libxlsxwriter for Clarion
Тут надо еще писать, какой версией Excel открываете. Не все одинаково понимают xlsx.
C6/C12, ШВС, tps/btrieve.