Как конвертировать Excel в JPG с помощью Python (3 практических метода)
Конвертация листов Excel в форматы изображений, такие как JPG, является распространенной задачей в отчетах, панелях управления, визуализации данных и рабочих процессах документов. Хотите ли вы встроить содержимое таблицы в отчет, создать миниатюры, опубликовать данные в вебе или просто поделиться содержимым листа без раскрытия формул, конвертация Excel в изображения на Python предоставляет быстрое и автоматизированное решение. В этом руководстве вы узнаете несколько способов конвертации файлов Excel в изображения JPG с использованием Python и Free Spire.XLS для Python, включая:
Конвертацию целого листа в JPG
Применение пользовательских полей
Создание высококачественных JPG с использованием масштабирования DPI
Экспорт только определенного диапазона ячеек
Давайте начнем.
Зачем конвертировать Excel в JPG?
Вот самые распространенные случаи использования:
Делитесь содержимым Excel без раскрытия формул: превращайте листы в статические изображения для отчетов, статей и электронных писем.
Встраивание в веб: веб-страницы обрабатывают JPG/PNG гораздо лучше, чем файлы Excel.
Автоматизированная генерация отчетов: полезно при создании панелей управления или пакетном экспорте содержимого Excel.
Графика высокого разрешения: превращайте таблицы в чистые, масштабируемые визуализации для печати.
Предотвращение редактирования: изображения гарантируют, что данные не могут быть легко изменены.
Установка необходимых библиотек
Установите Free Spire.XLS для Python:
pip install spire.xls.free
Опционально: установите Pillow для масштабирования DPI:
pip install Pillow
Метод 1: Конвертация листа в файл JPG с пользовательскими полями
При конвертации таблиц в изображения поля иногда могут добавлять нежелательные отступы. Spire.XLS позволяет установить пользовательские поля страницы перед экспортом.
using Spire.Doc;
using Spire.Doc.Documents;
class Program
{
static void Main(string[] args)
{
// Create a Document object
Document document = new Document();
// Load the RTF file
document.LoadFromFile("input.rtf");
// Save as a PDF file
document.SaveToFile("output.pdf", FileFormat.PDF);
// Output success message
Console.WriteLine("RTF file successfully converted to PDF!");
}
}
Метод 2: Конвертация листа в файл JPG с пользовательским DPI (высокое качество)
Spire.XLS поддерживает экспорт векторных EMF-изображений, которые можно увеличить до любого DPI с помощью Pillow. Это идеально подходит для печати или презентаций высокого разрешения.
Этапы
Экспортируйте лист в EMF (векторное изображение).
Загрузите EMF с помощью Pillow.
Увеличьте до пользовательского DPI (например, 300 DPI).
Сохраните как JPG/PNG.
Пример кода
sheet.SaveToImage(
stream,
sheet.FirstRow,
sheet.FirstColumn,
sheet.LastRow,
sheet.LastColumn,
ImageType.Metafile, # Это выход EMF
EmfType.EmfPlusDual
)
workbook.Dispose()
# --- 2. Загрузите EMF из потока с помощью Pillow ---
emf_bytes = stream.ToArray()
img = Image.open(io.BytesIO(emf_bytes))
# --- 3. Увеличьте до 300 DPI ---
target_dpi = 300
scale = target_dpi / 96# Pillow рендерит EMF при ~96 dpi
new_size = (int(img.width * scale), int(img.height * scale))
img = img.resize(new_size, Image.LANCZOS)
# --- 4. Сохраните изображение высокого разрешения ---
img.save("sheet_300dpi.jpg", dpi=(target_dpi, target_dpi))
Почему этот метод мощный
Выходное изображение кристально четкое
Отлично подходит для печати, встраивания в PDF, графики пользовательского интерфейса и многое другое
EMF гарантирует, что текст остается четким даже после масштабирования
Метод 3: Конвертация определенного диапазона ячеек в файл JPG
Иногда нужно только часть листа — например, график, таблицу или область панели управления.
from spire.xls import *
from spire.xls.common import *
# Создание объекта Workbook
workbook = Workbook()
# Загрузка файла Excel
workbook.LoadFromFile("C:/Users/Administrator/Desktop/input.xlsx")
# Получение первого листа
sheet = workbook.Worksheets[0]
# Укажите диапазон ячеек для конвертации
startRow = 1
startCol = 1
endRow = 11
endCol = 5
# Конвертация диапазона ячеек листа в изображение
image = sheet.ToImage(startRow, startCol, endRow, endCol)
# Сохранение изображения в файл PNG
image.Save("CellRangeToImage.jpg")
workbook.Dispose()
Резюме
С помощью Python и Spire.XLS вы можете легко конвертировать листы Excel в изображения JPG с полным контролем над макетом и разрешением. В этом руководстве вы узнали, как:
Конвертировать лист в JPG с пользовательскими полями
Генерировать высококачественные JPG с использованием EMF + масштабирования DPI
Экспортировать определенный диапазон ячеек как изображение
Эти техники особенно полезны для отчетов, панелей управления, публикации контента и автоматизированных рабочих процессов.







