Insérer des images et des formes dans les fichiers Excel avec Node.js via C++

Les formes dans Excel sont principalement divisées en types suivants :

  • Images
  • Objets OLE
  • Lignes
  • Rectangles
  • Formes de base
  • Flèches de base
  • Formes d’équation
  • Organigrammes
  • Étoiles et bannières
  • Appels

Ce document guide sélectionnera une ou deux formes de chaque type pour faire des exemples. À travers ces exemples, vous apprendrez comment utiliser Aspose.Cells pour insérer la forme spécifiée dans la feuille.

Ajout d’images dans la feuille Excel avec Node.js

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 PictureCollection.add(number, number, number, number, Uint8Array) de la collection Pictures (encapsulée dans l’objet Worksheet). La méthode PictureCollection.add(number, number, number, number, Uint8Array) 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.
const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");

// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();

// Adding a new worksheet to the Workbook object
const sheetIndex = workbook.getWorksheets().add();

// Obtaining the reference of the newly added worksheet by passing its sheet index
const worksheet = workbook.getWorksheets().get(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.getPictures().add(5, 5, path.join(dataDir, "logo.jpg"));

// Saving the Excel file
workbook.save(path.join(dataDir, "output.xls"));

Insertion d’objets OLE dans une feuille Excel avec Node.js

Aspose.Cells prend en charge l’ajout, l’extraction et la manipulation d’objets OLE dans les feuilles de calcul. Pour cette raison, Aspose.Cells possède la classe OleObjectCollection, utilisée pour ajouter un nouvel Objet OLE à la liste de collection. Une autre classe, OleObject, représente un objet OLE. Elle possède quelques membres importants :

  • La propriété OleObject.getImageData() spécifie les données d’image (icône) de type tableau d’octets. L’image sera affichée pour montrer l’objet OLE dans la feuille de calcul.
  • La propriété OleObject.getObjectData() spécifie les données de l’objet sous forme de tableau d’octets. Ces données seront affichées dans leur programme associé lors d’un double-clic sur l’icône de l’objet OLE.

L’exemple suivant montre comment ajouter un ou des objets OLE dans une feuille de calcul.

const path = require("path");
const fs = require("fs");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");

// Instantiate a new Workbook.
const workbook = new AsposeCells.Workbook();

// Get the first worksheet.
const sheet = workbook.getWorksheets().get(0);

// Define a string variable to store the image path.
const imageUrl = path.join(dataDir, "logo.jpg");

// Get the picture into the streams.
const imageData = fs.readFileSync(imageUrl);

// Get an excel file path in a variable.
const excelFilePath = path.join(dataDir, "book1.xls");

// Get the file into the streams.
const objectData = fs.readFileSync(excelFilePath);

// Add an Ole object into the worksheet with the image
// Shown in MS Excel.
sheet.getOleObjects().add(14, 3, 200, 220, imageData);

// Set embedded ole object data.
sheet.getOleObjects().get(0).setObjectData(objectData);

// Save the excel file
workbook.save(path.join(dataDir, "output.out.xls"));

Insertion d’une ligne dans une feuille Excel avec Node.js

La forme de la ligne appartient à la catégorie lignes.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer la ligne
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez la ligne dans ‘Formes récemment utilisées’ ou ‘Lignes’

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer une ligne dans la feuille de calcul.

L’exemple suivant montre comment insérer une ligne dans une feuille de calcul.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the line to the worksheet
sheet.getShapes().addLine(2, 0, 2, 0, 100, 300); // method 1
// sheet.getShapes().addAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300); // method 2
// sheet.getShapes().addShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300); // method 3

// Save. You can check your line in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’une flèche de ligne dans une feuille Excel avec Node.js

La forme de la flèche de ligne appartient à la catégorie Lignes. C’est un cas particulier de ligne.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer la flèche de ligne
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez la flèche dans ‘Formes récemment utilisées’ ou ‘Lignes’

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer une flèche de ligne dans la feuille de calcul.

L’exemple suivant montre comment insérer une flèche de ligne dans une feuille de calcul.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the line arrow to the worksheet
let s = sheet.getShapes().addLine(2, 0, 2, 0, 100, 300); // method 1
// let s = sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Line, 2, 0, 2, 0, 100, 300); // method 2
// let s = sheet.getShapes().addShape(AsposeCells.MsoDrawingType.Line, 2, 0, 2, 0, 100, 300); // method 3

// add a arrow at the line begin
s.getLine().setBeginArrowheadStyle(AsposeCells.MsoArrowheadStyle.Arrow); // arrow type
s.getLine().setBeginArrowheadWidth(AsposeCells.MsoArrowheadWidth.Wide); // arrow width
s.getLine().setBeginArrowheadLength(AsposeCells.MsoArrowheadLength.Short); // arrow length

// add a arrow at the line end
s.getLine().setEndArrowheadStyle(AsposeCells.MsoArrowheadStyle.ArrowOpen); // arrow type
s.getLine().setEndArrowheadWidth(AsposeCells.MsoArrowheadWidth.Narrow); // arrow width
s.getLine().setEndArrowheadLength(AsposeCells.MsoArrowheadLength.Long); // arrow length

// Save. You can check your arrow in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’un rectangle dans une feuille Excel en utilisant Node.js

La forme du rectangle appartient à la catégorie Rectangles.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer le rectangle
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez le rectangle dans ‘Formes récemment utilisées’ ou ‘Rectangles’

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer un rectangle dans la feuille de calcul.

L’exemple suivant montre comment insérer un rectangle dans une feuille de calcul.

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the rectangle to the worksheet
sheet.getShapes().addRectangle(2, 0, 2, 0, 100, 300);

// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’un cube dans une feuille Excel en utilisant Node.js

La forme du cube appartient à la catégorie Formes de base.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer le cube
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez le Cube dans Formes de base

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer un cube dans la feuille de calcul.

L’exemple suivant montre comment insérer un cube dans une feuille de calcul.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the cube to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Cube, 2, 0, 2, 0, 100, 300);

// Save. You can check your cube in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’une flèche de légende de type callout dans une feuille Excel en utilisant Node.js

La forme de la flèche de légende de type callout appartient à la catégorie Flèches de bloc.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer la flèche de callout quad
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez la flèche de légende de type callout dans Flèches de bloc

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer une flèche de callout quad dans la feuille de calcul.

L’exemple suivant montre comment insérer une flèche de légende de type callout dans une feuille de calcul.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the callout quad arrow to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.QuadArrowCallout, 2, 0, 2, 0, 100, 100);

//Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’un symbole de multiplication dans une feuille Excel en utilisant Node.js

La forme du symbole de multiplication appartient à la catégorie Formes d’équation.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer le signe de multiplication
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez le symbole de multiplication dans Formes d’équation

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer un signe de multiplication dans la feuille de calcul.

L’exemple suivant montre comment insérer un symbole de multiplication dans une feuille de calcul.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the multiplication sign to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.MathMultiply, 2, 0, 2, 0, 100, 100);

// Save. You can check your multiplication in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’un multidocument dans une feuille Excel en utilisant Node.js

La forme du multidocument appartient à la catégorie Diagrammes de flux.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer le multimédia
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez le multidocument dans Diagrammes de flux

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer un multimédia dans la feuille de calcul.

L’exemple suivant montre comment insérer un multidocument dans une feuille de calcul.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the multidocument to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.FlowChartMultidocument, 2, 0, 2, 0, 100, 100);

// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’une étoile à cinq branches dans une feuille Excel en utilisant Node.js

La forme de l’étoile à cinq branches appartient à la catégorie Étoiles et Bannières.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer l’étoile à cinq branches
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez l’étoile à cinq branches dans Étoiles et Bannières

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer une étoile à cinq branches dans la feuille de calcul.

L’exemple suivant montre comment insérer une étoile à cinq branches dans une feuille de calcul.

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the Five-pointed star to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Star5, 2, 0, 2, 0, 100, 100);

// Save. You can check your icon in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Insertion d’un nuage de bulle de pensée dans une feuille Excel en utilisant Node.js

La forme du nuage de bulle de pensée appartient à la catégorie Callouts.

Dans Microsoft Excel (par exemple 2007) :

  • Sélectionnez la cellule où vous souhaitez insérer le nuage de bulles de pensée
  • Cliquez sur le menu Insérer, puis sur Formes.
  • Ensuite, sélectionnez le nuage de bulle de pensée dans Callouts

Utilisation d’Aspose.Cells

Vous pouvez utiliser la méthode suivante pour insérer un nuage de bulles de pensée dans la feuille de calcul.

L’exemple suivant montre comment insérer un nuage de bulle de pensée dans une feuille de calcul.

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the thought bubble cloud to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.CloudCallout, 2, 0, 2, 0, 100, 100);

// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

Exécutez le code ci-dessus, vous obtiendrez les résultats suivants:

Sujets avancés