Загрузка прайс-листа с картинками из Excel

1С Загрузка прайса из ExcelНедавно столкнулся с необходимостью загрузки большого количества прайсов от различных книжных издательств. Обязательным условием было сохранение в базе данных информации вместе с картинками (обложками книг).

Основной проблемой, конечно, стало сохранить картинку на диск.

Поначалу решил использовать cClipBoardObject.dll (автору компоненты большое спасибо за идею!), НО! Возникла следующая проблема: картинки сохраненные с помощью вышеуказанной компоненты имеют формат данных WMF (некоторые просмоторщики распознают как EMF) и при загрузке в базу картинки отображались некоректно, да и с конвертировать их при помощи

Новый Картинка().Преобразовать() тоже не получилось — система упорно выдавала ошибку.

Решил написать собственную компоненту. Функционал небольшой:

2 свойства:

  • Тип файла/FileType — тип файла в который будет сохранено изображение из буфера обмена (0 — bmp, 1- jpg, по-умолчанию 1);
  • Сжатие/Compression — степень сжатия для файлов формата JPEG (значение по-умолчанию 80);

1 Метод:

  • СохранитьИзБуфера/SaveFromClipboard(ПутьКФайлу);

Пока реализовано сохранение только для типа CF_MetaFilePict (WMF). При копировании из Excel картинки в буфер используется именно этот формат.
В будущем планирую расширить функционал компоненты и извлекать уже изображения и других типов.

Пример использования для 8.2.

На 7.7 тоже все работает.

 

[stextbox id=»download» caption=»Файлы»]

ЗагрузкаПрайсЛистов.zip

1CGClipboard.zip

[/stextbox]

[stextbox id=»grey» caption=»Скриншоты»]

 

 

[/stextbox]

 

7 комментариев к записи «Загрузка прайс-листа с картинками из Excel»

  1. Подскажите что можно сделать?. Картинка из буфера в файл несохраняется, а в паинт вставляет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *