Выгрузить картинку из 1С в Excel

Для того, чтобы выгрузить картинку из 1С в эксель (на примере выгрузки основного изображения номенклатуры), можно использовать следующий метод:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Получаем основное изображение номенклатуры.
ИзображениеТовара = Номенклатура.ОсновноеИзображение.Хранилище.Получить();
 
Если ЗначениеЗаполнено(ИзображениеТовара) Тогда
 
     // Даём имя временному файлу.
     ИмяФайла = "PicForExcel";
     ВременныйФайл = ПолучитьИмяВременногоФайла("jpg");
     // Записываем временный файл на диск.
     ИзображениеТовара.Записать(ВременныйФайл);
     // Получаем координаты для левого верхнего угла изображения.
     Верх = Лист.Cells(СтрокаПрайса, ТекущаяКолонка).Top;
     Лево = Лист.Cells(СтрокаПрайса, ТекущаяКолонка).Left;
     // Используем метод AddPicture и добавляем картинку в координаты с размером картинки 100 на 100.
     // Сама картинка, при этом, не теряет своего настоящего разрешения, просто подгоняется под указанные размеры.  
     Лист.Shapes.AddPicture(ВременныйФайл, Ложь, Истина, Лево, Верх, 100, 100);
     // Удаляем временный файл с диска.
     УдалитьФайлы(ВременныйФайл);
 
КонецЕсли;

Первый параметр метода AddPicture — строка, полный путь к файлу (с названием файла). Второй — указание на то, что изображение ссылается на файл (в случае удаления файла ссылка бесполезна). От значения третьего параметра зависит, будут ли картинки сохраняться в файле. Четвёртый и пятый образуют точку координат для левого верхнего угла изображения. Шестой и седьмой — ширина и высота фигуры, соответственно.

Более подробно о параметрах метода AddPicture можно почитать на странице описания метода.

Настроить свойства картинки при выгрузке в Excel можно, обратившись к картинке по индексу:

1
2
3
4
5
6
7
8
9
// Настраиваем зависимость картинки от действий с ячейкой.
// В данном примере привязка объекта к фону настроена, как 
// перемещать и изменять объект вместе с ячейками.
Лист.Shapes(ИндексКартинки).Placement = 1;
// Настраиваем свойство "Сохранять пропорции" при изменении фигуры.
Лист.Shapes(ИндексКартинки).LockAspectRatio = 1;
// Настраиваем ширину и высоту картинки.
Лист.Shapes(ИндексКартинки).Width = 100;
Лист.Shapes(ИндексКартинки).Height = 100;

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

WP-SpamFree by Pole Position Marketing