Comment convertir Excel en image miniature en C#
Comment convertir Excel en image miniature en C#
Lorsque vous travaillez avec des fonctionnalités d’aperçu de documents ou des bibliothèques de contenu, les images miniatures fournissent une référence visuelle rapide sans charger l’intégralité du fichier. Ce tutoriel démontre comment créer des images miniatures à partir de fichiers Excel en utilisant Aspose.Cells pour .NET.
Pourquoi utiliser des miniatures ?
- Créer des cartes d’aperçu pour des galeries de documents
- Construire des tableaux de bord visuels de rapports de feuilles de calcul
- Ajouter des visuels légers aux outils de recherche ou de gestion de fichiers
Guide étape par étape
Étape 1 : Installer Aspose.Cells
dotnet add package Aspose.Cells
Étape 2 : Charger le classeur
Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];
Étape 3 : Configurer les options de rendu de miniature
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 96,
VerticalResolution = 96,
OnePagePerSheet = true
};
Étape 4 : Rendre la première feuille de calcul en une image
SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");
Étape 5 : Redimensionner l’image aux dimensions de la miniature (optionnel)
Vous pouvez utiliser une bibliothèque graphique (par exemple, System.Drawing) pour redimensionner l’image :
using System.Drawing;
Bitmap original = new Bitmap("preview_temp.png");
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");
Étape 6 : Utiliser l’image miniature
Vous avez maintenant une miniature légère adaptée aux aperçus.
Exemple de code complet
using System;
using System.Drawing;
using Aspose.Cells;
using Aspose.Cells.Rendering;
class Program
{
static void Main()
{
// Charger le fichier Excel
Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Configurer les options de basse résolution
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 96,
VerticalResolution = 96,
OnePagePerSheet = true
};
// Rendre la feuille complète en une image temporaire
SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");
// Redimensionner en miniature
using (Bitmap original = new Bitmap("preview_temp.png"))
{
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");
}
Console.WriteLine("Image miniature créée à partir de la feuille de calcul Excel.");
}
}
Meilleures pratiques
Recommandation | But |
---|---|
Utiliser OnePagePerSheet = true | Éviter la séparation multi-pages dans l’image |
Résolution inférieure | Optimise pour une génération de miniature plus rapide |
Redimensionner l’image après le rendu | Plus de contrôle sur l’échelle et la qualité |