Как конвертировать весь файл Excel в изображение на C#

Как конвертировать весь файл Excel в изображение на C#

Рендерирование файлов Excel в качестве изображений является жизненно важным при включении разделных таблиц в веб-страницы, документацию или отчеты. Эта статья показывает, как конвертировать целую рабочую книгу Excel в высококачественные форматы изображения с использованием Aspose.Cells для .NET.

Зачем конвертировать рабочие книги в изображения?

  • Создание предварительных просмотров для файлов Excel
  • Архив расширений в форматах изображений
  • Включение контента в отчеты или печатные рабочие потоки
  • Показать шины в приложениях, которые не поддерживают оригинальный просмотр Excel

Step-by-Step реализация

Шаг 1: Инсталляция Aspose.Cells для .NET

Добавить Aspose.Cells к вашему проекту с помощью NuGet:

dotnet add package Aspose.Cells

Шаг 2: Загрузите файл Excel

Workbook workbook = new Workbook("Book1.xlsx");

Шаг 3: Настройка опций изображения

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200
};

Эти настройки контролируют формат выхода и разрешение. Вы также можете настроить:

  • Transparent На фоне
  • OnlyArea Исключить маргины
  • PrintingPageType Какой контент включать

Шаг 4: Оставьте рабочую книгу

WorkbookRender renderer = new WorkbookRender(workbook, options);

Шаг 5: Конвертировать каждую страницу в изображение

Пройдите через страницы и экспортируйте каждый из них:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

Это будет генерировать одну картинку на логическую страницу, основанную на текущем оформлении печати.

Шаг 6: Сохраните изображения

Вышеуказанный код уже сохраняет каждый файл изображения на диск с использованием определенного названия.

// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...

Шаг 7: Опциональные улучшения

Вы можете продолжить фино-тунную картинку:

// Example: show gridlines
options.ShowGridLines = true;

// Example: render the entire sheet content in one page
options.AllColumnsInOnePagePerSheet = true;

Лучшие практики

  • Используйте высокое разрешение (200+ dpi) для печатных изображений.
  • Возможность AllColumnsInOnePagePerSheet Для широких листов.
  • Комбинировать вывод в PDF или галерею изображений для презентаций.

Общие проблемы и решения

ПроблемаРешение
Источник изображения белыйУбедитесь, что рабочая книга загружена и содержит видимые данные
Изображение отрезаноСет OnePagePerSheet = true или корректировать скалирование страницы
Низкое качество продукцииУвеличение HorizontalResolution и VerticalResolution
 Русский