Как конвертировать весь файл 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 |