Médiaforma

API JS dans Excel – Propriétés des cellules

Partagez cet article sur vos réseaux

Pour récupérer les propriétés d’une cellule (police, taille des caractères, couleur, attributs, couleur d’arrière-plan, etc.), vous utiliserez la méthode getCellProperties(). Indiquez les propriétés que vous voulez récupérer sous la forme d’un objet JSON :

const proprieties = cellule.getCellProperties({

  prop: true;

});

Les propriétés récupérables sont listées sur cette page : https://bit.ly/2LQyCVy

A titre d’exemple, nous allons récupérer les propriétés suivantes :

  • address
  • format/font/name
  • format/font/color
  • format/font/bold
  • format/font/italic
  • format/fill/color
  • style

Voici le code utilisé :

async function run() {

  await Excel.run(async (context) => {

    const feuille = context.workbook.worksheets.getActiveWorksheet();

    let cellule = feuille.getCell(0,0);

    const lesProp = cellule.getCellProperties({

      address: true,

      format: {

        fill: {

          color: true

        },

        font: {

          color: true,

          bold: true,

          italic: true,

          name: true

        }

      },

      style: true

    })

    await context.sync();

    const proprietes = lesProp.value;

    console.log(proprietes);

  });

}

La feuille courante est placée dans la constante feuille :

const feuille = context.workbook.worksheets.getActiveWorksheet();

La cellule dont on veut connaitre les propriétés est la cellule A1 :

let cellule = feuille.getCell(0,0);

Les propriétés de cette cellule sont placées dans la constante lesProp :

const lesProp = cellule.getCellProperties({

  address: true,

  format: {

    fill: {

      color: true

    },

    font: {

      color: true,

      bold: true,

      italic: true,

      name: true

    }

  },

  style: true

})

L’instruction await context.sync() synchronise l’état entre les objets proxy de JavaScript et les objets réels dans Excel, ce qui provoque la récupération des propriétés de la cellule A1 :

await context.sync();

L’instruction suivante affiche les propriétés récupérées :

console.log(proprietes.value);

Le résultat est retourné sous la forme d’un tableau. Voici un exemple de ce que vous obtiendrez :

[

    [

        {

            "@odata.type": "Microsoft.ExcelServices.CellPropertiesInternal",

            "address": "Sample!A1",

            "format": {

                "@odata.type": "Microsoft.ExcelServices.CellPropertiesFormatInternal",

                "font": {

                    "@odata.type": "Microsoft.ExcelServices.CellPropertiesFont",

                    "bold": true,

                    "color": "#44546A",

                    "italic": false,

                    "name": "Calibri"

                },

                "fill": {

                    "@odata.type": "Microsoft.ExcelServices.CellPropertiesFill",

                    "color": "#FFFFFF"

                }

            },

            "style": "Heading1"

        }

    ]

]

Pour afficher ces propriétés dans la console, il suffit d’utiliser des instructions « à point ».

Dans un premier temps, on récupère l’objet JSON contenu dans le tableau de tableau avec cette instruction :

const valeurs = lesProp.value[0][0];

Ensuite, on parse les différentes propriétés et on les affiche dans la console :

console.log(`Adresse : ${valeurs.address}`);
console.log(`Police : ${valeurs.format.font.name}, couleur : ${valeurs.format.font.color}, gras : ${valeurs.format.font.bold}, italique : ${valeurs.format.font.italic}`);

console.log(`Couleur d'arrière-plan : ${valeurs.format.fill.color}`);

console.log(`Style : ${valeurs.style}`);

Voici un exemple d’exécution :

 
Commentaires

Aucun commentaire pour l'instant.

Laissez un commentaire