Я так понял, автор ждёт, когда ему переведут $800.
libxlsxwriter for Clarion
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1377
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
В других задачках типа
https://github.com/jmcnamara/libxlsxwriter/issues/37
https://github.com/jmcnamara/libxlsxwriter/issues/90
не дождался, так реализовал. Так что надеемся на лучшее ))
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
libxlsxwriter for Clarion
Макнамара пытается быть хитрым. Выставил сложность в пятёрку (максимальную) и просит бабла. ИМХО, добавить тег "Comment" к ячейке плёвое дело.
RaFaeL, а этот "ANSI C" код кларионовским компилятором никак?
RaFaeL, а этот "ANSI C" код кларионовским компилятором никак?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7374
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
libxlsxwriter for Clarion
На самом деле там с этими комментариями не всё просто. Насколько я знаю, через OLE это не делается и
разработчик EasyExcel эту возможность приводил в пример преимущества своего продукта …
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
libxlsxwriter for Clarion
Делается:
Код: Выделить всё
LOC:OLE{'Range("A1").Select'}
LOC:OLE{'Range("A1").AddComment'}
LOC:OLE{'Range("A1").Comment.Visible'} = 0
LOC:OLE{'Range("A1").Comment.Text("KreatoR<10>Тест.")'}
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7374
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
libxlsxwriter for Clarion
Спасибо ! Буду знать.
Хотя через OLE сейчас только читаем XLSX файлы … весь экспорт делается в XLSXWriter.
Хотя через OLE сейчас только читаем XLSX файлы … весь экспорт делается в XLSXWriter.
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1377
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
libxlsxwriter for Clarion
Представления не имею, скачайте да попробуйте )
Особой разницы не вижу, разве что если кому отдельная dll мешается
В любом случае я этот код на С дописывать не буду, а кто хочет дописать так может и так дописать и собрать... Я собираю в MinGW через MSYS
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
libxlsxwriter for Clarion
хотел поднять старый вопрос про вставку картинок как в viewtopic.php?p=33386#p33386
но выскакивает ошибка. Кто решил вопрос, или знает решение?
Спасибо за внимание
но выскакивает ошибка. Кто решил вопрос, или знает решение?
Спасибо за внимание
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7374
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
libxlsxwriter for Clarion
Не совсем понятно в чём проблема … ? Может быть на базе штатного примера сделаете демонстрацию проблемы ?
По ссылке идёт обсуждение какого-то открытия с указанием отрицательных размеров картинки … может в этом проблема ?
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
libxlsxwriter for Clarion
указаны отрицательные позиции для картинки, чтобы она(картинка) вставлялась("вписывалась") в размер клетки. На тот момент это было простое решениеИгорь Столяров писал(а): ↑18 Март 2019, 9:29По ссылке идёт обсуждение какого-то открытия с указанием отрицательных размеров картинки … может в этом проблема ?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7374
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
libxlsxwriter for Clarion
Это не решение. В оригинальной документации нет работы с отрицательными размерами картинки.
см. https://libxlsxwriter.github.io/workshe ... 46fe730f6f
Просто срабатывала какая-то защита от дурака в Microsoft Excel (как в Clarion при делении на ноль) и
происходил сброс размера картинки по размеру ячейки. Но видимо это поддерживается не везде и не всегда ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
libxlsxwriter for Clarion
Спасибо, я в курсе Вот руки "дошли", сделал вписывание в клетку не зависимо от размера клетки и размера картинки.Игорь Столяров писал(а): ↑18 Март 2019, 10:25 Это не решение. В оригинальной документации нет работы с отрицательными размерами картинки.
см. https://libxlsxwriter.github.io/workshe ... 46fe730f6f
Размер вычислял не открывая картинки, за это отдельное спасибо Yufil
Код: Выделить всё
CODE
r_path string(255) ! файл с картинкой
r_sizeH decimal(7,2) ! высота в картинке (пикселях)
r_photoH real ! высота колонки Excel
r_scale decimal(7,2) ! маштаб - сооотноение
DATA
Image# = Create(0,CREATE:image)
Image#{Prop:Noheight} = True
Image#{Prop:NoWidth} = True
0{Prop:Pixels} = True
Image#{Prop:Text} = r_path ! Загрузим картинку
! r_sizeW = Image#{Prop:Width}
r_sizeH = Image#{Prop:Height}
Destroy(Image#)
0{Prop:Pixels} = False
r_scale = r_photoH / (r_photoH + r_sizeH)
err#=xlsx.InsertImage(l_row,l_column,r_path,1,1,r_scale,r_scale)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7374
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
libxlsxwriter for Clarion
Отлично, но это простейший вариант и … извините, но немного некорректный.
Нужно масштабировать картинку по большей стороне и, к сожалению, в Microsoft Excel единица измерения ячейки - не пиксел.
Сделайте экспорт сотни разношёрстных картинок - сразу всё увидите.
Из опций - хорошо бы оставлять отступ от края ячейки и центровать неквадратную картинку по горизонтали / вертикали с учётом отступа.
Кларионовский Image поддерживает не все форматы и косячно работает с полноцветными BMP и GIF.
Размер картинки хорошо получать через библиотеку FreeImage, там правда своеобразная ед. измерения, но зато точно.
Ну и вопрос размера картинки. Желательно сопоставлять размер ячейки и картинки, и выполнять её нормализацию перед вставкой.
Иначе при экспорте какого-нибудь каталога образцов товаров с картинками 100x100 можно получить на выходе гигабайтный XLSX.
Где-то пол-года назад подробно обсуждали в этой ветке тему вставки графики - если интересно посмотрите.
За теми кто отстал - не возвращаться. (С) Кодекс
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
libxlsxwriter for Clarion
В смысле своеобразная? Разве вот это не пиксели возвращает?Игорь Столяров писал(а): ↑19 Март 2019, 21:44Размер картинки хорошо получать через библиотеку FreeImage, там правда своеобразная ед. измерения, но зато точно.
Код: Выделить всё
w = fi.iImage.GetWidth()
h = fi.iImage.GetHeight()
С уважением, ДП
- Игорь Столяров
- Ветеран движения
- Сообщения: 7374
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
libxlsxwriter for Clarion
Точно ! Перепутались в голове две разные сказки.
Размер ВСЕГДА получается в пикселях, а вот РАЗРЕШЕНИЕ в точках / метр.
Код: Выделить всё
theImage.iImage.SetDotsPerMeterX(3780) ! Установить разрешение 96 т/дюйм = 3780 т/метр
theImage.iImage.SetDotsPerMeterY(3780)
За теми кто отстал - не возвращаться. (С) Кодекс