Gestion des images

Aspose.Cells permet aux développeurs d’ajouter des images à des feuilles de calcul en cours d’exécution. De plus, le positionnement de ces images peut être contrôlé en cours d’exécution, ce qui est discuté plus en détail dans les sections suivantes.

Cet article explique comment ajouter des images et comment insérer une image qui montre le contenu de certaines cellules.

Ajout d’images

Ajouter des images à une feuille de calcul est très facile. Il suffit de quelques lignes de code : Il suffit d’appeler la méthode Add de la collection Pictures (encapsulée dans l’objet Worksheet). La méthode Add prend les paramètres suivants :

  • Index de la ligne supérieure gauche, l’index de la ligne supérieure gauche.
  • Index de la colonne supérieure gauche, l’index de la colonne supérieure gauche.
  • Nom du fichier image, le nom du fichier image, complet avec le chemin.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg");
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Positionnement des images

Il existe deux façons possibles de contrôler le positionnement des images à l’aide d’Aspose.Cells :

  • Positionnement proportionnel: définir une position proportionnelle à la hauteur et à la largeur de la ligne.
  • Positionnement proportionnel : définir une position proportionnelle à la hauteur et à la largeur de la ligne.

Positionnement proportionnel

Les développeurs peuvent positionner les images proportionnellement à la hauteur de la ligne et à la largeur de la colonne en utilisant les propriétés UpperDeltaX et UpperDeltaY de l’objet Aspose.Cells.Drawing.Picture. Un objet Picture peut être obtenu à partir de la collection Pictures en passant son indice d’image. Cet exemple place une image dans la cellule F6.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
int pictureIndex = worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg");
// Accessing the newly added picture
Aspose.Cells.Drawing.Picture picture = worksheet.Pictures[pictureIndex];
// Positioning the picture proportional to row height and colum width
picture.UpperDeltaX = 200;
picture.UpperDeltaY = 200;
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");

Positionnement Absolu

Les développeurs peuvent également positionner les images absolument en utilisant les propriétés Left et Top de l’objet Picture. Cet exemple place une image dans la cellule F6, à 60 pixels de la gauche et à 10 pixels du haut de la cellule.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
int pictureIndex = worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg");
// Accessing the newly added picture
Aspose.Cells.Drawing.Picture picture = worksheet.Pictures[pictureIndex];
// Absolute positioning of the picture in unit of pixels
picture.Left = 60;
picture.Top = 10;
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");

Insérer une image basée sur la référence de cellule

Aspose.Cells vous permet d’afficher le contenu d’une cellule de feuille de calcul dans une forme d’image. Vous pouvez lier l’image à la cellule qui contient les données que vous souhaitez afficher. Étant donné que la cellule ou la plage de cellules est liée à l’objet graphique, les modifications apportées aux données dans cette cellule ou plage de cellules apparaissent automatiquement dans l’objet graphique.

Ajoutez une image à la feuille de calcul en appelant la méthode AddPicture de la collection ShapeCollection (encapsulée dans l’objet Worksheet). Spécifiez la plage de cellules en utilisant l’attribut Formula de l’objet Picture.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate a new Workbook
Workbook workbook = new Workbook();
// Get the first worksheet's cells collection
Cells cells = workbook.Worksheets[0].Cells;
// Add string values to the cells
cells["A1"].PutValue("A1");
cells["C10"].PutValue("C10");
// Add a blank picture to the D1 cell
Picture pic = workbook.Worksheets[0].Shapes.AddPicture(0, 3, 10, 6, null);
// Specify the formula that refers to the source range of cells
pic.Formula = "A1:C10";
// Update the shapes selected value in the worksheet
workbook.Worksheets[0].Shapes.UpdateSelectedValue();
// Save the Excel file.
workbook.Save(dataDir + "output.out.xls");

Sujets avancés