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-planOnlyArea
pour exclure les margesPrintingPageType
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ème | Solution |
---|---|
L’image de sortie est vide | Assurez-vous que le classeur est chargé et contient des données visibles |
L’image est coupée | Réglez OnePagePerSheet = true ou ajustez l’échelle de la page |
Sortie de faible qualité | Augmentez HorizontalResolution et VerticalResolution |