Comment convertir un classeur Excel entier en image en C#

Comment convertir un classeur Excel entier en image en C#

Rendre des fichiers Excel sous forme d’images est essentiel lors de l’intégration de feuilles de calcul dans des pages web, des documents ou des rapports. Cet article démontre comment convertir un classeur Excel entier en formats d’image de haute qualité en utilisant Aspose.Cells pour .NET.

Pourquoi convertir des classeurs en images ?

  • Générer des aperçus pour les fichiers Excel
  • Archiver des feuilles de calcul sous forme d’images
  • Intégrer le contenu des feuilles de calcul dans des rapports ou des flux de travail d’impression
  • Afficher des feuilles de calcul dans des applications qui ne prennent pas en charge l’affichage natif d’Excel

Mise en œuvre étape par étape

Étape 1 : Installer Aspose.Cells pour .NET

Ajoutez Aspose.Cells à votre projet en utilisant NuGet :

dotnet add package Aspose.Cells

Étape 2 : Charger le fichier Excel

Workbook workbook = new Workbook("Book1.xlsx");

Étape 3 : Configurer les options d’image

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

Ces paramètres contrôlent le format de sortie et la résolution. Vous pouvez également configurer :

  • Transparent pour l’arrière-plan
  • OnlyArea pour exclure les marges
  • PrintingPageType pour quel contenu inclure

Étape 4 : Rendre le classeur

WorkbookRender renderer = new WorkbookRender(workbook, options);

Étape 5 : Convertir chaque page en image

Parcourez les pages et exportez chacune d’elles :

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

Cela générera une image par page logique basée sur la mise en page d’impression actuelle.

Étape 6 : Enregistrer les images

Le code ci-dessus enregistre déjà chaque fichier image sur le disque en utilisant le nom défini.

// Sortie :
// workbook_page_1.png
// workbook_page_2.png
// ...

Étape 7 : Améliorations optionnelles

Vous pouvez encore affiner le rendu des images :

// Exemple : afficher les lignes de grille
options.ShowGridLines = true;

// Exemple : rendre le contenu entier de la feuille sur une page
options.AllColumnsInOnePagePerSheet = true;

Meilleures pratiques

  • Utilisez une haute résolution (200+ dpi) pour des images de qualité d’impression.
  • Activez AllColumnsInOnePagePerSheet pour des feuilles larges.
  • Combinez la sortie dans un PDF ou une galerie d’images pour des présentations.

Problèmes courants et solutions

ProblèmeSolution
L’image de sortie est videAssurez-vous que le classeur est chargé et contient des données visibles
L’image est coupéeRéglez OnePagePerSheet = true ou ajustez l’échelle de la page
Sortie de faible qualitéAugmentez HorizontalResolution et VerticalResolution
 Français