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 tabulky? Exportování rozsahu buněk do obrázku je užitečné pro generování náhledů, předloh nebo částečných zpráv. Tento průvodce ukazuje, jak převést definovaný rozsah buněk v Excelu na vysoce kvalitní obrázek pomocí Aspose.Cells pro .NET.

Případové studie

  • Exportování cenových tabulek nebo produktových katalogů
  • Sdílení části pracovního listu bez odhalení celého souboru
  • Zachycení dynamických rozsahů pro řídicí panely nebo widgety

Krok za krokem

Krok 1: Nainstalujte Aspose.Cells

dotnet add package Aspose.Cells

Krok 2: Načtěte pracovní knihu a pracovní list

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

Krok 3: Definujte rozsah pro export

// Určete rozsah jako A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Krok 4: Nakonfigurujte možnosti vykreslování obrázků

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

Krok 5: Vytvořte SheetRender a vykreslete rozsah

// Můžete použít SheetRender s tiskovými hranicemi, pokud je to potřeba
SheetRender renderer = new SheetRender(worksheet, options);

Krok 6: Exportujte rozsah jako obrázek

Aspose.Cells nemá přímou třídu RangeRender, ale můžete stále oříznout obrázek tím, že se zaměříte na vykreslování pouze na vybraný rozsah:

// Nastavte tiskovou oblast ručně pro pracovní list
worksheet.PageSetup.PrintArea = "A1:D10";

// Znovu vytvořte SheetRender s nyní aplikovanými tiskovými nastaveními
renderer = new SheetRender(worksheet, options);

// Vykreslete a exportujte
renderer.ToImage(0, "range_output.png");

Krok 7: Uložte a ověřte výstup

Nyní budete mít čistý oříznutý obrázek vybraného rozsahu Excelu.


Kompletní příklad kódu

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Načtěte pracovní knihu
        Workbook workbook = new Workbook("DataSet.xlsx");

        // Přístup k prvnímu pracovnímu listu
        Worksheet worksheet = workbook.Worksheets[0];

        // Definujte rozsah pro export (A1 až D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Nastavte tiskovou oblast na tento rozsah
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // Nastavte možnosti exportu obrázků
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // Vykreslete pouze určený rozsah
        SheetRender renderer = new SheetRender(worksheet, options);

        // Exportujte do obrázku
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Rozsah buněk byl úspěšně exportován jako obrázek.");
    }
}

Tipy pro řešení problémů

ProblémŘešení
Obrázek obsahuje další řádky/sloupceUjistěte se, že tisková oblast je přesně definována
Rozsah není správně oříznutNastavte OnePagePerSheet = true
Rozmazaný textZvyšte nastavení rozlišení
 Čeština