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 КБ) 982 скачивания
Последний раз редактировалось RaFaeL 30 Декабрь 2021, 19:19, всего редактировалось 40 раз.
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
libxlsxwriter for Clarion
когда то подымал вопрос по Split, да есть в libxlsxwriter - SplitPanel,к сожалению им пользоваться не удобно, хотелось если возможно:
установить закрепление
снять закрепление
или как можно в libxlsxwriter с помощью vba это реализовать?
Спасибо за внимание
установить закрепление
Код: Выделить всё
With ActiveWindow
.SplitColumn = 5
.SplitRow = 6
End With
ActiveWindow.SplitRow = 14 ' нужное значение
ActiveWindow.SplitColumn = 3 ' нужное значение
ActiveWindow.FreezePanes = True
End Sub
Код: Выделить всё
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
End Sub
Спасибо за внимание
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
libxlsxwriter for Clarion
извиняюсь, заработался, есть, обновил до последнего
понял что спутал Split с Freeze
понял что спутал Split с Freeze

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
libxlsxwriter for Clarion
Когда в приложении подключена библиотека ZLIB
Include('ZipClass.inc')
То при попытке подключить
INCLUDE('xlsxwriter.inc')
На этапе сборки появляются ошибки (одноименные процедуры в двух DLL: zlibwapi.dll и в libxlsxw.dll
Duplicate symbol: zipClose in libxlsxw.dll
Duplicate symbol: zipCloseFileInZip in libxlsxw.dll и т.п.
Возможно кто-то сталкивался? Есть ли решение?
Include('ZipClass.inc')
То при попытке подключить
INCLUDE('xlsxwriter.inc')
На этапе сборки появляются ошибки (одноименные процедуры в двух DLL: zlibwapi.dll и в libxlsxw.dll
Duplicate symbol: zipClose in libxlsxw.dll
Duplicate symbol: zipCloseFileInZip in libxlsxw.dll и т.п.
Возможно кто-то сталкивался? Есть ли решение?
libxlsxwriter for Clarion
К dll-файлу прилагается lib-файл. Lib строится утилитой libmaker, входящей в состав Клариона.
Для построения либы
1. запускается libmaker
2. загружается dll
3. После загрузки dll на экран выводятся внешние ссылки dll.
4. Удалить дублирующие ссылки
5. Сохранить либу
Для построения либы
1. запускается libmaker
2. загружается dll
3. После загрузки dll на экран выводятся внешние ссылки dll.
4. Удалить дублирующие ссылки
5. Сохранить либу
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
А не переклинит из-за отсутствия ссылки на процедуру в DLL ?
Мне кажется более правильно задать в MAP уникальные имена для процедур в разных DLL
В данном случае достаточно исправить даже одно. Что-то вроде:
Код: Выделить всё
Map
MyFreeImageCloseMem(LPFIMEMORY mstream), Pascal, Name('_FreeImage_CloseMemory') ! <- Имя в DLL
end
Make Clarion Great Again ! 
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
Не переклинит. По идее, мне надо в lib не всю libxlsxw.dll экспортировать, а только нужные функции. Но, поскольку мне лень, я тупо всю dll туда кидаю. У кого дубликаты, сделайте свою libxlsxw.lib на основе libxlsxw.dll без дублирующих функцийИгорь Столяров писал(а): 03 Декабрь 2020, 20:29 А не переклинит из-за отсутствия ссылки на процедуру в DLL ?
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
libxlsxwriter for Clarion
С другой стороны, стоит посмотреть, а надо ли таскать две библиотеки zlib. Может, перенаправить ZipClass на сам libxlsxwriter
libxlsxwriter for Clarion
Это не о том, сами dll содержат одинаковые ссылки. Линкеру непонятно, какую испольщовать.Игорь Столяров писал(а): 03 Декабрь 2020, 20:29А не переклинит из-за отсутствия ссылки на процедуру в DLL ?
Мне кажется более правильно задать в MAP уникальные имена для процедур в разных DLL
В данном случае достаточно исправить даже одно. Что-то вроде:
Код: Выделить всё
Map MyFreeImageCloseMem(LPFIMEMORY mstream), Pascal, Name('_FreeImage_CloseMemory') ! <- Имя в DLL end
А я такую вещь делал, именно для zlib - заменил на новую версию и получил ...
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
libxlsxwriter for Clarion
Понял ... А нельзя zlib прилинковать к libxlsxw.dll, что бы не было внешних ссылок ?
Как я понимаю, в LibCurl сейчас именно так сделано (в ранних релизах был в комплекте zlib1.dll)
Make Clarion Great Again ! 
libxlsxwriter for Clarion
Зачем обрезать хороший продукт - пускай будет всё.RaFaeL писал(а): 03 Декабрь 2020, 21:55 По идее, мне надо в lib не всю libxlsxw.dll экспортировать, а только нужные функции.
Это что, спаять в одно целое исходники zlib и libxlsxw?Игорь Столяров писал(а): 03 Декабрь 2020, 22:29 А нельзя zlib прилинковать к libxlsxw.dll, что бы не было внешних ссылок ?

==================================================================
А где можно посмотреть ZipClass (на FTP не нашел, а может плохо искал)?
C10, Win10x64
libxlsxwriter for Clarion
Вот ZLIB
- Вложения
-
- ZipClass.clw
- (45.52 КБ) 336 скачиваний
-
- ZipClass.inc
- (1.71 КБ) 366 скачиваний
libxlsxwriter for Clarion
Это список ошибок при линковке
Duplicate symbol: zipClose in libxlsxw.dll
Duplicate symbol: zipCloseFileInZip in libxlsxw.dll
Duplicate symbol: zipCloseFileInZipRaw in libxlsxw.dll
Duplicate symbol: zipOpen in libxlsxw.dll
Duplicate symbol: zipOpen2 in libxlsxw.dll
Duplicate symbol: zipOpenNewFileInZip in libxlsxw.dll
Duplicate symbol: zipOpenNewFileInZip2 in libxlsxw.dll
Duplicate symbol: zipOpenNewFileInZip3 in libxlsxw.dll
Duplicate symbol: zipWriteInFileInZip in libxlsxw.dll
Duplicate symbol: zipClose in libxlsxw.dll
Duplicate symbol: zipCloseFileInZip in libxlsxw.dll
Duplicate symbol: zipCloseFileInZipRaw in libxlsxw.dll
Duplicate symbol: zipOpen in libxlsxw.dll
Duplicate symbol: zipOpen2 in libxlsxw.dll
Duplicate symbol: zipOpenNewFileInZip in libxlsxw.dll
Duplicate symbol: zipOpenNewFileInZip2 in libxlsxw.dll
Duplicate symbol: zipOpenNewFileInZip3 in libxlsxw.dll
Duplicate symbol: zipWriteInFileInZip in libxlsxw.dll
libxlsxwriter for Clarion
Можно удалить эти имена из zlibx.lib
Открой zlib.dll либмакером и удали записи экспорта (zipClose, zipclosefileinzip, ..., zipWriteInFileInZip) с этими именами, потом сохрани либу.
Но у меня есть смутное подозрение, что zlib совсем не нужна. Может быть, изъять её из прожекта?
Открой zlib.dll либмакером и удали записи экспорта (zipClose, zipclosefileinzip, ..., zipWriteInFileInZip) с этими именами, потом сохрани либу.
Но у меня есть смутное подозрение, что zlib совсем не нужна. Может быть, изъять её из прожекта?
libxlsxwriter for Clarion
ZLIB убрать , а вместо нее вызывать процедуры из libxlsxwriter?
Речь об этом?
Речь об этом?