Как да конвертирате работния лист в изображение в C#

Как да конвертирате работния лист в изображение в C#

Експортирането на един работен лист на Excel в формат на изображение (напр. PNG, JPEG) е полезно при генериране на предварителни прегледи, експорт на графики или споделяне на прочетени само визуални изображения на съдържанието на разширения лист.

Използване на случаите

  • Създаване на преглед на конкретен работен лист
  • Износ форматирани доклади за имейл или документация
  • Вградете един лист в уеб страница или PDF

Стъпка по стъпка ръководство

Стъпка 1: Инсталирайте Aspose.Cells за .NET

dotnet add package Aspose.Cells

Стъпка 2: Изтеглете файла на Excel

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheet

Стъпка 3: Определете опциите за rendering на изображение

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

Стъпка 4: Създаване на SheetRender Object

SheetRender renderer = new SheetRender(sheet, options);

Стъпка 5: Преместване на всяка страница към изображение

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Стъпка 6: Спасете изображенията

Този код автоматично съхранява едно изображение на всяка отпечатаните страници в работния лист.

Стъпка 7: Опционални подобрения

Можете да приложите допълнителни настройки за оформление:

// Show gridlines in the output image
options.ShowGridLines = true;

// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;

Пълният пример на кода

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Load the Excel workbook
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Access a specific worksheet
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Define image rendering options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Enable gridlines if desired
        options.ShowGridLines = true;

        // Render the sheet to image(s)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Saved: {imageName}");
        }

        Console.WriteLine("Worksheet successfully rendered to image(s).");
    }
}

Съвместни сценарии и решаване на проблеми

ВъпросътРешение
Премахване на съдържаниетоUse AllColumnsInOnePagePerSheet = true
Произходът е ниско качествоУвеличаване на резолюцията на изображението
Липсва линиятаSet ShowGridLines = true
 Български