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