Как сохранить фотографии из Excel: все способы от ручного копирования до автоматизации

Microsoft Excel часто используется не только для расчётов, но и как хранилище изображений — от скриншотов отчётов до фотографий товаров в прайс-листах. Однако стандартных инструментов для массового сохранения картинок из таблиц нет. Если вам нужно извлечь одну-две фотографии, достаточно скопировать их вручную, но что делать, когда в документе сотни встроенных изображений?

В этой статье разберём все актуальные способы сохранения фото из Excel — от базовых (подходящих новичкам) до продвинутых (с использованием макросов и сторонних утилит). Особое внимание уделим скрытым изображениям в ячейках, которые не видны при обычном просмотре, но занимают место в файле. Все методы протестированы на Excel 2019–2026 и Office 365 (включая веб-версию).

1. Ручное копирование через буфер обмена (самый простой способ)

Если изображений мало (до 10–15 штук), быстрее всего сохранить их через стандартные функции Windows. Этот метод не требует дополнительных программ и работает даже в защищённых корпоративных сетях, где запрещены макросы.

Алгоритм действий:

  • 🖱️ Выделите изображение в Excel кликом мыши (должна появиться рамка с маркерами изменения размера).
  • 📋 Нажмите Ctrl + C (или правой кнопкой → Копировать).
  • 🖼️ Откройте любой графический редактор (Paint, Photoshop, даже Word) и вставьте изображение (Ctrl + V).
  • 💾 Сохраните файл в нужном формате (.png, .jpg).

⚠️ Внимание: Если при копировании в буфер попадает не само изображение, а ссылка на него (например, из вставленной через Вставка → Рисунок из файла), попробуйте сначала обрезать картинку в Excel (Формат → Обрезка), а затем копировать.

2. Сохранение через изменение расширения файла (для скрытых изображений)

Excel хранит встроенные изображения внутри файла в формате .xlsx (который на самом деле является ZIP-архивом). Этот метод позволяет извлечь все графические объекты, включая те, что не видны на листе — например, фоновые картинки или логотипы в заголовках.

Инструкция:

  1. Сделайте копию исходного файла Excel (на случай ошибки).
  2. Переименуйте расширение с .xlsx на .zip (например, отчёт.xlsxотчёт.zip).
  3. Откройте архив через Проводник Windows или 7-Zip.
  4. Перейдите в папку xl → media — здесь хранятся все изображения из документа.
  5. Скопируйте файлы в удобное место и переименуйте их (по умолчанию они имеют вид image1.png, image2.jpeg).
Тип изображения в Excel Папка в ZIP-архиве Формат файла
Вставленное через Вставка → Рисунок xl/media .png, .jpg, .jpeg
Фон ячейки или листа xl/drawings (внутри XML) Требует ручного извлечения
Логотип в заголовке/подвале xl/headers или xl/footers .png (чаще всего)
Диаграммы и фигур xl/drawings/drawing1.xml Не сохраняются как изображения

⚠️ Внимание: Если в папке media нет файлов, проверьте:

  • 🔍 Были ли изображения вставлены как объекты (а не через ссылку).
  • 📁 Не перепутали ли вы папку — иногда картинки хранятся в xl/embeddings.
  • 🔄 Сохраняли ли файл в формате .xlsx.xls этот метод не работает).
📊 Как часто вам приходится извлекать изображения из Excel?
Редко (1-2 раза в год)
Иногда (раз в месяц)
Часто (еженедельно)
Постоянно (ежедневно)

3. Экспорт через Word (для сохранения структуры документа)

Если важно сохранить не только изображения, но и их расположение относительно текста (например, в отчётах с иллюстрациями), удобнее экспортировать данные в Microsoft Word, а затем извлечь картинки оттуда.

Пошаговая инструкция:

  1. Выделите область с изображениями в Excel (или весь лист — Ctrl + A).
  2. Скопируйте её (Ctrl + C).
  3. Откройте новый документ Word и вставьте данные (Ctrl + V). Выберите вариант «Сохранить исходное форматирование».
  4. Сохраните файл Word в формате .docx.
  5. Переименуйте расширение на .zip и откройте архив (как в предыдущем методе). Изображения будут в папке word/media.

Преимущество этого способа — сохранение привязки изображений к тексту. Например, если в Excel фотография привязана к ячейке A1 с названием товара, в Word она останется рядом с этим текстом.

Почему не работает копирование через "Специальная вставка"?

При использовании Правка → Специальная вставка → Рисунок в Word вставляется растрированная версия изображения с низким разрешением (обычно 96 dpi). Этот метод подходит только для эскизов, но не для печати или дальнейшей обработки.

4. Автоматизация с помощью VBA (для массового извлечения)

Если вам регулярно приходится извлекать десятки или сотни изображений, ручные методы отнимают слишком много времени. В этом случае поможет макрос на VBA, который сохраняет все картинки из активного листа в выбранную папку.

Инструкция по настройке:

  1. Откройте файл Excel и нажмите Alt + F11, чтобы запустить редактор VBA.
  2. В меню выберите Insert → Module.
  3. Вставьте следующий код:
    Sub ExportPictures()
    

    Dim shp As Shape

    Dim i As Integer

    Dim folderPath As String

    ' Задайте путь к папке для сохранения (замените на свой)

    folderPath = "C:\ExportExcelImages\"

    ' Создать папку, если её нет

    If Dir(folderPath, vbDirectory) = "" Then MkDir folderPath

    ' Экспорт каждого изображения

    For Each shp In ActiveSheet.Shapes

    If shp.Type = msoPicture Then

    i = i + 1

    shp.Copy

    With ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart

    .Paste

    .Export folderPath & "Image_" & i & ".png", "PNG"

    .Parent.Delete

    End With

    End If

    Next shp

    MsgBox "Экспорт завершён! Сохранено " & i & " изображений.", vbInformation

    End Sub

  4. Замените путь C:\ExportExcelImages\ на нужный (папка должна существовать!).
  5. Запустите макрос нажатием F5 или через Run → Run Sub/UserForm.

⚠️ Внимание: Макрос сохраняет только видимые изображения (объекты Shape). Скрытые картинки (например, в ячейках через Формат ячеек → Заливка → Рисунок) требуют другого подхода — см. следующий раздел.

Запустить Excel с правами администратора|Включить поддержку макросов в Файл → Параметры → Центр управления безопасностью|Создать папку для экспорта изображений|Проверьте, нет ли в именах файлов кириллицы (может вызвать ошибку)-->

5. Извлечение изображений из ячеек (скрытые картинки)

В Excel есть малоизвестная функция вставки изображений непосредственно в ячейки через Формат ячеек → Заливка → Рисунок или текстура. Такие картинки не видны как отдельные объекты, но увеличивают размер файла. Чтобы их извлечь, понадобится Power Query или сторонние инструменты.

Способ 1: Через Power Query (встроен в Excel 2016+):

  • 📊 Перейдите на лист с изображениями в ячейках.
  • 🔄 Нажмите Данные → Получить данные → Из таблицы/диапазона.
  • 🖼️ В открывшемся редакторе Power Query добавьте пользовательский столбец с формулой:
    = Binary.From([Column1])

    (замените Column1 на имя столбца с картинками).

  • 💾 Экспортируйте данные в .csv и откройте файл в блокноте — бинарные данные изображений будут внутри.

Способ 2: С помощью Online Excel Viewer (например, Aspose.Cells). Загрузите файл, и сервис покажет все встроенные изображения, включая скрытые.

6. Сторонние программы для массового экспорта

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

Программа Поддерживаемые форматы Особенности Стоимость
Excel Image Extractor .xlsx, .xls Сохраняет привязку к ячейкам, поддерживает EMF Бесплатно
Kutools for Excel .xlsx, .xlsm Интеграция в ленту Excel, пакетный экспорт $39/год
Aspose.Cells .xlsx, .xlsb, .ods API для разработчиков, поддерживает облако От $799/год
OfficeRecover Любые повреждённые файлы Excel Восстанавливает изображения из битых файлов $27/разово

🔹 Совет: Перед использованием платных программ проверьте их на тестовом файле — некоторые утилиты сохраняют изображения в низком разрешении или обрезают прозрачность.

FAQ: Частые вопросы по извлечению изображений из Excel

Можно ли сохранить изображение из Excel в формате .svg?

Да, но только если исходное изображение было векторным (например, вставлено как Фигура или SmartArt). Для растровых картинок (.png, .jpg) придётся использовать конвертеры вроде Inkscape или Adobe Illustrator.

Почему при копировании из Excel в Word изображение теряет качество?

Excel по умолчанию копирует картинки с разрешением экрана (96–150 dpi). Чтобы сохранить оригинальное качество, используйте метод с переименованием в .zip или VBA-макрос из раздела 4.

Как извлечь логотип из шапки Excel, который не виден на листе?

Логотипы в заголовках/подвалах хранятся в папке xl/headers или xl/footers внутри ZIP-архива. Их можно извлечь только через переименование файла (метод 2) или с помощью Aspose.Cells.

Можно ли автоматизировать извлечение изображений из сотен файлов Excel?

Да, с помощью PowerShell или Python (библиотека openpyxl). Пример скрипта на Python:

from openpyxl import load_workbook

import os

folder_path = "C:/ExcelFiles/"

output_path = "C:/ExtractedImages/"

for file in os.listdir(folder_path):

if file.endswith(('.xlsx', '.xlsm')):

wb = load_workbook(os.path.join(folder_path, file))

for sheet in wb.worksheets:

for img in sheet._images:

with open(f"{output_path}{img.filename}", "wb") as f:

f.write(img._data())

print("Готово!")

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

Вероятные причины:

  • Изображения вставлены как ссылки (проверьте в Файл → Сведения → Связи).
  • Файл сохранён в формате .xls (старый формат не поддерживает ZIP-структуру).
  • Картинки являются частью SmartArt или Диаграмм (их нужно экспортировать отдельно).