Jak převést oblast buněk na obrázek v C#

Jak převést oblast buněk na obrázek v C#

Potřebujete vizuálně extrahovat část šířky?Exportování buněčného rozsahu do obrazu je užitečné pro vytváření miniatur, předpovědí nebo částečných zpráv.Tento průvodce ukazuje, jak konverzi definovaného buněčného rozsahu v Excelu do kvalitního obrazu pomocí Aspose.Cells pro .NET.

Případové studie

  • Vývozní cenové tabulky nebo katalogy produktů
  • Sdílejte část pracovního listu bez vystavení plného souboru
  • Snímek dynamických řad pro dashboards nebo widgety

Krok za krokem průvodce

Krok 1: Instalace Aspose.Cells

dotnet add package Aspose.Cells

Krok 2: Stáhněte si pracovní knihu a pracovní desku

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Krok 3: Definujte rozsah vývozu

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Krok 4: Nastavení možnosti renderování obrazu

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

Krok 5: Vytvořte SheetRender a Render Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

Krok 6: Export Range jako obrázek

Aspose.Cells nemá přímou třídu RangeRender, ale můžete stále klepnout obrázek soustředěním renderování pouze na vybraný rozsah:

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

Krok 7: Shromažďujte a ověřte výstup

Budete nyní mít čistý hromadný obrázek vybraného rozsahu Excelu.

Kompletní příkladový kód

using System;
using Aspose.Cells;

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

        // Access the first worksheet
        Worksheet worksheet = workbook.Worksheets[0];

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

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

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

Tipy na řešení potíží

ProblémŘešení
Obrázek obsahuje další řádky/kolonyUjistěte se, že oblast tisku je přísně definována
Rozsah není řádně nakrájenSetování OnePagePerSheet = true
Blurský textZvýšení rozložení
 Čeština