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/kolony | Ujistěte se, že oblast tisku je přísně definována |
Rozsah není řádně nakrájen | Setování OnePagePerSheet = true |
Blurský text | Zvýšení rozložení |