Come convertire un intervallo di celle in un'immagine in C#
Exporter une gamme de cellules à une image est utile pour générer des détails, des prévisions ou des rapports partiels. Ce guide montre comment convertir une gamme de cellules définie dans Excel en une image de haute qualité en utilisant Aspose.Cells pour .NET.
Casi d’uso
- Tableaux de prix d’exportation ou catalogues de produits
- Partager une partie d’une feuille de travail sans exposer le fichier complet
- Capture des rangs dynamiques pour les dashboards ou les widgets
Guide étape par étape
Étape 1 : Installer Aspose.Cells
dotnet add package Aspose.Cells
Étape 2 : Téléchargez le Livre de travail et le Livre de travail
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
Étape 3 : Définir la portée à l’exportation
// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");
Étape 4 : Configurer les options d’imagerie
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
Étape 5: Créer un SheetRender et Render le Range
// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);
Étape 6: Range d’exportation comme image
Aspose.Cells n’a pas de classe RangeRender directe, mais vous pouvez toujours cliquer une image en se concentrant sur le rendu à seulement une gamme sélectionnée:
// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";
// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);
// Render and export
renderer.ToImage(0, "range_output.png");
Étape 7 : sauvegarder et vérifier la sortie
Vous aurez désormais une image claire de la gamme Excel sélectionnée.
Code d’exemple complet
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// Load the workbook
Workbook workbook = new Workbook("DataSet.xlsx");
// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Define range to export (A1 to D10)
Range range = worksheet.Cells.CreateRange("A1", "D10");
// Set the print area to this range
worksheet.PageSetup.PrintArea = range.RefersTo;
// Set image export options
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
// Render only the specified range
SheetRender renderer = new SheetRender(worksheet, options);
// Export to image
renderer.ToImage(0, "range_output.png");
Console.WriteLine("Cell range exported successfully as image.");
}
}
Conseils de résolution des problèmes
Problème | La solution |
---|---|
L’image contient des lignes / colonnes supplémentaires | Assurez-vous que la zone d’impression est strictement définie |
La gamme n’est pas correctement récolté | Set OnePagePerSheet = true |
Le texte de Blurry | Augmentation des réglages de résolution |