Jak przekonwertować zakres komórek na obraz w C#
Eksportowanie zakresu komórek do obrazu jest przydatne do generowania miniatur, przeglądów lub częściowych raportów.Ten przewodnik pokazuje, jak przekształcić określony zakres komórek w programie Excel w wysokiej jakości obraz za pomocą Aspose.Cells dla .NET.
Przykłady użycia
- Tabele cenowe eksportu lub katalogi produktów
- Podziel się częścią arkusza roboczego bez wyświetlania pełnego pliku
- Zatrzymaj dynamiczne rzędy dla paneli lub widgetów
Przewodnik krok po kroku
Krok 1: Instalacja Aspose.Cells
dotnet add package Aspose.Cells
Krok 2: Pobierz książkę roboczą i arkusz roboczy
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
Krok 3: Określ zakres eksportu
// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");
Krok 4: Konfiguruj opcje renderowania obrazu
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
Krok 5: Tworzenie SheetRender i Render Range
// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);
Krok 6: Export Range jako obraz
Aspose.Cells nie ma bezpośredniej klasy RangeRender, ale nadal można pobrać obraz, koncentrując się na renderowaniu do wybranego zakresu:
// 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: Zapisz i sprawdź wynik
Teraz będziesz miał czyste zgromadzone zdjęcie wybranego zakresu programu Excel.
Kompletny kod przykładowy
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.");
}
}
Porady rozwiązywania problemów
kwestia | Rozwiązanie |
---|---|
Zdjęcie zawiera dodatkowe rzędy / kolumny | Upewnij się, że obszar drukowania jest ściśle zdefiniowany |
Różnica nie jest prawidłowo wykopana | Set OnePagePerSheet = true |
Blurry tekst | Wzrost rozdzielczości |