libxlsxwriter for Clarion

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение Admin »

Игорь Столяров писал(а): 16 Январь 2020, 10:18С Новым годом
Просто кто то повторил за разработчиком библиотеки. :-)
Но мы все равно говорим :ty:
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение Admin »

1. желательно перенести пример в папку ExampleS\libxlsxwriter, что бы при копировании папок сразу в отдельную попадало

2. где нибудь в начале xlsxwriter.clw вставить

Код: Выделить всё

PRAGMA ('link (libxlsxw.lib)')
для подключения lib файла. он же нам вроде безусловно нужен при подключении clw

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
5. пакетик по моему под папку 3rdparty заточен...
Вложения
libxlsxwriter.tpl
(1.81 КБ) 200 скачиваний
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение Admin »

Это... я не настаиваю конечно же :)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Пункт 2 обычно делают в пункте 3, а не в clw
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libxlsxwriter for Clarion

Сообщение Admin »

RaFaeL писал(а): 17 Январь 2020, 19:24 Пункт 2 обычно делают в пункте 3, а не в clw
Давно в стандартные классы заглядывал? :)
Поищи там слово PRAGMA
Если в шаблон помещать, придется условия проверять. А в CLW безусловно, если он используется LIB нужно подключать!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Выложил в шапку новую версию

В методе InsertImage параметр добавился в середину, кто недавно добавлял описание, ссылку и подсказку к картинке придется их подвинуть
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7325
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Admin писал(а): 17 Январь 2020, 4:22 PRAGMA ('link (libxlsxw.lib)')
Классная штука, доложу я Вам. :)
Прописал у себя в субклассе и теперь можно не следить, что бы в APP был подключен LIB.
Плюс бонус: нет вопроса при конвертировании APP из CW6 в CW11. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

В текущем релизе и у меня прописано
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7325
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Упс ! Точно. Тогда у себя в субклассе можно отключить. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Обновил шапку: добавлен метод вставки изображения из памяти. Также исправлен не очень понятный баг с размером изображения (Issue 274), надеюсь его пофиксят в мастере
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7325
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 05 Март 2020, 21:29 добавлен метод вставки изображения из памяти.
Ещё раз спасибо - всё прекрасно работает.
Решается старый вопрос: при большом кол-ве добавляемых картинок их все нужно было хранить на HDD до записи XLSX
(а потом ещё и удалять - что тоже время). Теперь красота - записали буфер с картинкой и забыли про него. :)

Поэтому получается даже выгодней в субклассе сделать метод, который загрузить картинку из файла в буфер и запишет
этот буфер в XLSX.

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

P/S: Написанное выше следует понимать буквально. Т.е. если, например, мы делаем XLSX каталог c картинками товаров
размером 200x200 и у нас есть исходные фотки товаров в Full HD - то конечно их нужно масштабировать (не смена формата !)
перед вставкой в XLSX.
За теми кто отстал - не возвращаться. (С) Кодекс
Larion
Бывалый
Сообщения: 91
Зарегистрирован: 28 Ноябрь 2005, 10:26
Откуда: Novosibirsk

libxlsxwriter for Clarion

Сообщение Larion »

При использовании библиотеки возникает ошибка при открытии книги в Excel
В книге "книга.xlsx" обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги? Да Нет.
Выбираю Да вижу файл как задумал.

Я нашёл место в программе

Код: Выделить всё

err#=xlsx.Merge(RowST,1,RowST,5)
если комментирую строку ошибки нет. Но нет и объединения ячеек в таблице.
С уважением Larion.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7325
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Larion писал(а): 17 Март 2020, 12:12 ошибка при открытии книги в Excel
Расскажите пожалуйста как Вам удалось открыть книгу в XLSX ?
Или речь идёт о СОЗДАНИИ новой книги (XLSX.NewWorkBook) ?
За теми кто отстал - не возвращаться. (С) Кодекс
Larion
Бывалый
Сообщения: 91
Зарегистрирован: 28 Ноябрь 2005, 10:26
Откуда: Novosibirsk

libxlsxwriter for Clarion

Сообщение Larion »

книга.xlsx Это имя файла созданного при помощи библиотеки.

Это сообщение Excel
В книге "книга.xlsx" обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги? Да Нет.
С уважением Larion.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4555
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Тут надо еще писать, какой версией Excel открываете. Не все одинаково понимают xlsx.
C6/C11, ШВС, tps/btrieve.
Ответить