Come convertire un intervallo di celle in un'immagine in C#

Come convertire un intervallo di celle in un'immagine in C#

Exporter une gamme de cellules à une image est utile pour générer des détails, des prévisions ou des rapports partiels. Ce guide montre comment convertir une gamme de cellules définie dans Excel en une image de haute qualité en utilisant Aspose.Cells pour .NET.

Casi d’uso

  • Tableaux de prix d’exportation ou catalogues de produits
  • Partager une partie d’une feuille de travail sans exposer le fichier complet
  • Capture des rangs dynamiques pour les dashboards ou les widgets

Guide étape par étape

Étape 1 : Installer Aspose.Cells

dotnet add package Aspose.Cells

Étape 2 : Téléchargez le Livre de travail et le Livre de travail

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

Étape 3 : Définir la portée à l’exportation

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

Étape 4 : Configurer les options d’imagerie

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

Étape 5: Créer un SheetRender et Render le Range

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

Étape 6: Range d’exportation comme image

Aspose.Cells n’a pas de classe RangeRender directe, mais vous pouvez toujours cliquer une image en se concentrant sur le rendu à seulement une gamme sélectionnée:

// 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");

Étape 7 : sauvegarder et vérifier la sortie

Vous aurez désormais une image claire de la gamme Excel sélectionnée.

Code d’exemple complet

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.");
    }
}

Conseils de résolution des problèmes

ProblèmeLa solution
L’image contient des lignes / colonnes supplémentairesAssurez-vous que la zone d’impression est strictement définie
La gamme n’est pas correctement récoltéSet OnePagePerSheet = true
Le texte de BlurryAugmentation des réglages de résolution
 Français