Comment convertir une feuille de calcul en image en C#

Comment convertir une feuille de calcul en image en C#

L’exportation d’une seule feuille de calcul Excel au format image (par exemple, PNG, JPEG) est utile lors de la génération d’aperçus, de l’exportation de graphiques ou du partage de représentations visuelles en lecture seule du contenu d’une feuille de calcul. Ce guide vous montre comment convertir une feuille de calcul d’un classeur Excel en une image en utilisant Aspose.Cells pour .NET.

Cas d’utilisation

  • Générer un aperçu d’une feuille de calcul spécifique
  • Exporter des rapports formatés pour un email ou une documentation
  • Intégrer une seule feuille dans une page web ou un PDF

Guide étape par étape

Étape 1 : Installer Aspose.Cells pour .NET

dotnet add package Aspose.Cells

Étape 2 : Charger le fichier Excel

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Accéder à une feuille de calcul spécifique

Étape 3 : Définir les options de rendu d’image

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

Étape 4 : Créer un objet SheetRender

SheetRender renderer = new SheetRender(sheet, options);

Étape 5 : Rendre chaque page en une image

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Étape 6 : Enregistrer les images

Ce code enregistre automatiquement une image par page imprimable dans la feuille de calcul.

Étape 7 : Améliorations optionnelles

Vous pouvez appliquer des paramètres de mise en page supplémentaires :

// Afficher les lignes de grille dans l'image de sortie
options.ShowGridLines = true;

// Ajuster tout le contenu sur une seule page
options.AllColumnsInOnePagePerSheet = true;

Code d’exemple complet

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Charger le classeur Excel
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Accéder à une feuille de calcul spécifique
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Définir les options de rendu d'image
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Activer les lignes de grille si souhaité
        options.ShowGridLines = true;

        // Rendre la feuille en image(s)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Enregistré : {imageName}");
        }

        Console.WriteLine("La feuille de calcul a été rendue avec succès en image(s).");
    }
}

Scénarios courants et dépannage

ProblèmeSolution
Contenu coupéUtilisez AllColumnsInOnePagePerSheet = true
Sortie de faible qualitéAugmentez la résolution de l’image
Lignes de grille manquantesDéfinissez ShowGridLines = true
 Français