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ème | Solution |
---|---|
Contenu coupé | Utilisez AllColumnsInOnePagePerSheet = true |
Sortie de faible qualité | Augmentez la résolution de l’image |
Lignes de grille manquantes | Définissez ShowGridLines = true |