Как конвертировать 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
Экспортировать определенный диапазон ячеек как изображение
Эти техники особенно полезны для отчетов, панелей управления, публикации контента и автоматизированных рабочих процессов.
Как конвертировать Word в PNG и JPEG на C#
Введение
Конвертация документов Word (DOC/DOCX) в изображения форматов PNG и JPEG полезна для обмена контентом без необходимости редактирования или для сохранения форматирования документа. В этой статье мы рассмотрим, как выполнить такую конвертацию в C# с использованием библиотеки для обработки документов Word в .NET.
C# библиотека для конвертации Word в изображения
Spire.Doc for .NET предоставляет эффективные методы для преобразования документов Word в изображения. Библиотека поддерживает конвертацию целых документов или отдельных страниц в высококачественные изображения форматов PNG, JPEG и BMP. Она проста в интеграции и предлагает гибкий контроль над разрешением для лучшего качества вывода.
Установка Spire.Doc через NuGet
Для использования Spire.Doc в вашем проекте необходимо установить его через NuGet Package Manager:
Откройте Visual Studio и ваш проект
Перейдите в Tools → NuGet Package Manager → Manage NuGet Packages for Solution
Найдите "Spire.Doc" во вкладке Browse
Выберите пакет и нажмите Install
Альтернативно, вы можете установить его через Package Manager Console, используя команду:
Install-Package Spire.Doc
Эта библиотека предоставляет бесплатную версию с ограниченным функционалом, которую также можно установить через NuGet:
Install-Package FreeSpire.Doc
После установки вы можете начать конвертировать документы Word в изображения, используя примеры кода ниже.
Конвертация DOC/DOCX в PNG
Следующий фрагмент кода демонстрирует, как преобразовать документ Word в изображения PNG:
using Spire.Doc;
using System;
using System.Drawing;
using System.Drawing.Imaging;
using Spire.Doc.Documents;
namespace ConvertWordToPng
{
class Program
{
static void Main(string[] args)
{
// Создаем объект Document
Document doc = new Document();
// Загружаем документ Word
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx");
// Конвертируем весь документ в отдельные изображения
Image[] images = doc.SaveToImages(ImageType.Metafile);
// Проходим по коллекции изображений
for (int i = 0; i < images.Length; i++)
{
// Устанавливаем разрешение для конкретного изображения
Image newimage = ResetResolution(images[i] as Metafile, 150);
// Сохраняем изображение в формате PNG
string outputfile = String.Format("Image-{0}.png", i);
newimage.Save("C:\\Users\\Administrator\\Desktop\\Images\\" + outputfile, ImageFormat.Png);
}
}
// Метод для установки разрешения изображения
public static Image ResetResolution(Metafile mf, float resolution)
{
int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
int height = (int)(mf.Height * resolution / mf.VerticalResolution);
Bitmap bmp = new Bitmap(width, height);
bmp.SetResolution(resolution, resolution);
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawImage(mf, Point.Empty);
}
return bmp;
}
}
}
Пояснение:
Загрузка документа: Класс Document загружает файл Word по указанному пути
Конвертация в изображения: Метод SaveToImages() преобразует каждую страницу в изображение Metafile
Настройка разрешения: Метод ResetResolution() обеспечивает высокое DPI (150 в данном случае)
Сохранение в PNG: Каждое изображение сохраняется в формате PNG с последовательным именем файла
Конвертация DOC/DOCX в JPEG
Следующий фрагмент кода преобразует документ Word в изображения JPEG:
using Spire.Doc;
using Spire.Doc.Documents;
using System;
using System.Drawing;
using System.Drawing.Imaging;
namespace ConvertWordToJPG
{
class Program
{
static void Main(string[] args)
{
// Создаем объект Document
Document doc = new Document();
// Загружаем документ Word
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx");
// Конвертируем весь документ в отдельные изображения
Image[] images = doc.SaveToImages(ImageType.Bitmap);
// Проходим по коллекции изображений
for (int i = 0; i < images.Length; i++)
{
// Сохраняем изображение в формате JPEG
string outputfile = String.Format("Image-{0}.jpg", i);
images[i].Save("C:\\Users\\Administrator\\Desktop\\Images\\" + outputfile, ImageFormat.Jpeg);
}
}
}
}
Пояснение:
Загрузка документа: Класс Document загружает файл Word аналогично конвертации в PNG
Конвертация в Bitmap: Метод SaveToImages() преобразует страницы в изображения Bitmap
Сохранение в JPEG: Каждое изображение сохраняется в формате JPEG с последовательным именем файла
Заключение
Используя Spire.Doc for .NET, конвертация документов Word в PNG или JPEG становится простой задачей. Библиотека эффективно обрабатывает рендеринг документов и предоставляет гибкость в настройке разрешения и формата изображений. Независимо от того, нужны ли вам высококачественные PNG или сжатые JPEG, Spire.Doc упрощает процесс конвертации на C#.








