Partager via


Définir et obtenir des valeurs de plage, du texte ou des formules à l’aide de l’API JavaScript Excel

Cet article fournit des exemples de code qui définissent et obtiennent des valeurs de plage, du texte ou des formules avec l’API JavaScript Excel. Pour obtenir la liste complète des propriétés et méthodes prises en charge par l’objet Range , voir Classe Excel.Range.

Remarque

L’API JavaScript Excel ne comprend pas d’objet ou de classe « Cellule ». L’API JavaScript Excel définit plutôt toutes les cellules Excel comme objetsRange. Une cellule individuelle dans l’interface utilisateur d’Excel se traduit par un objetRange avec une cellule dans l’API JavaScript Excel. Un objet Range peut également contenir plusieurs cellules contiguës. Consultez Travailler avec des cellules de calcul à l’aide de l’API JavaScript Excel pour en savoir plus.

Définir des valeurs ou des formules

Les exemples de code suivants définissent des valeurs et des formules pour une seule cellule ou une plage de cellules.

Définir une valeur pour une cellule unique

L’exemple de code suivant définit la valeur de la cellule C3 sur « 5 », puis définit la largeur des colonnes pour mieux s’adapter aux données.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let range = sheet.getRange("C3");
    range.values = [[ 5 ]];
    range.format.autofitColumns();

    await context.sync();
});

Données avant la mise à jour de la valeur de la cellule

Données dans Excel avant la mise à jour de la valeur de cellule.

Données après la mise à jour de la valeur de la cellule

Données dans Excel après la mise à jour de la valeur de cellule.

Définir des valeurs pour une plage de cellules

L’exemple de code suivant définit les valeurs des cellules de la plage B5:D5, puis définit la largeur des colonnes pour mieux s’adapter aux données.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let data = [
        ["Potato Chips", 10, 1.80],
    ];

    let range = sheet.getRange("B5:D5");
    range.values = data;
    range.format.autofitColumns();

    await context.sync();
});

Données avant la mise à jour des valeurs des cellules

Données dans Excel avant la mise à jour des valeurs de cellule.

Données après la mise à jour des valeurs des cellules

Données dans Excel après la mise à jour des valeurs de cellule.

Définir la formule d’une cellule unique

L’exemple de code suivant définit une formule pour la cellule E3, puis définit la largeur des colonnes pour mieux s’adapter aux données.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let range = sheet.getRange("E3");
    range.formulas = [[ "=C3 * D3" ]];
    range.format.autofitColumns();

    await context.sync();
});

Données avant la définition de la formule de la cellule

Données dans Excel avant la définition de la formule de cellule.

Données après la définition de la formule de la cellule

Données dans Excel après la définition de la formule de cellule.

Définir des formules pour une plage de cellules

L’exemple de code ci-dessous définit des formules pour les cellules de la plage E2:E6, puis définit la largeur des colonnes pour mieux s’adapter aux données.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let data = [
        ["=C3 * D3"],
        ["=C4 * D4"],
        ["=C5 * D5"],
        ["=SUM(E3:E5)"]
    ];

    let range = sheet.getRange("E3:E6");
    range.formulas = data;
    range.format.autofitColumns();

    await context.sync();
});

Données avant la définition des formules des cellules

Données dans Excel avant la définition des formules de cellule.

Données après la définition des formules des cellules

Données dans Excel après la définition des formules de cellule.

Obtenir des valeurs, du texte ou des formules

Ces exemples de code obtiennent des valeurs, du texte et des formules à partir d’une plage de cellules.

Obtenir des valeurs à partir d’une plage de cellules

L’exemple de code suivant obtient la plage B2:E6, charge sa values propriété et écrit les valeurs dans la console. La values propriété d’une plage spécifie les valeurs brutes que contiennent les cellules. Même si certaines cellules d’une plage contiennent des formules, la values propriété de la plage spécifie les valeurs brutes de ces cellules, et non aucune des formules.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let range = sheet.getRange("B2:E6");
    range.load("values");
    await context.sync();

    console.log(JSON.stringify(range.values, null, 4));
});

Données de la plage (les valeurs de la colonne E sont le résultat des formules)

Données dans Excel après la définition des formules de cellule.

range.values (comme consigné dans la console par l’exemple de code ci-dessus)

[
    [
        "Product",
        "Qty",
        "Unit Price",
        "Total Price"
    ],
    [
        "Almonds",
        2,
        7.5,
        15
    ],
    [
        "Coffee",
        1,
        34.5,
        34.5
    ],
    [
        "Chocolate",
        5,
        9.56,
        47.8
    ],
    [
        "",
        "",
        "",
        97.3
    ]
]

Obtenir du texte à partir d’une plage de cellules

L’exemple de code suivant obtient la plage B2:E6, charge sa text propriété et l’écrit dans la console. La text propriété d’une plage spécifie les valeurs d’affichage des cellules de la plage. Même si certaines cellules d’une plage contiennent des formules, la text propriété de la plage spécifie les valeurs d’affichage de ces cellules, et non aucune des formules.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let range = sheet.getRange("B2:E6");
    range.load("text");
    await context.sync();

    console.log(JSON.stringify(range.text, null, 4));
});

Données de la plage (les valeurs de la colonne E sont le résultat des formules)

Données dans Excel après la définition des formules de cellule.

range.text (comme consigné dans la console par l’exemple de code ci-dessus)

[
    [
        "Product",
        "Qty",
        "Unit Price",
        "Total Price"
    ],
    [
        "Almonds",
        "2",
        "7.5",
        "15"
    ],
    [
        "Coffee",
        "1",
        "34.5",
        "34.5"
    ],
    [
        "Chocolate",
        "5",
        "9.56",
        "47.8"
    ],
    [
        "",
        "",
        "",
        "97.3"
    ]
]

Obtenir des formules à partir d’une plage de cellules

L’exemple de code suivant obtient la plage B2:E6, charge sa formulas propriété et l’écrit dans la console. La formulas propriété d’une plage spécifie les formules des cellules de la plage qui contiennent des formules et les valeurs brutes des cellules de la plage qui ne contiennent pas de formules.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let range = sheet.getRange("B2:E6");
    range.load("formulas");
    await context.sync();

    console.log(JSON.stringify(range.formulas, null, 4));
});

Données de la plage (les valeurs de la colonne E sont le résultat des formules)

Données dans Excel après la définition des formules de cellule.

range.formulas (comme consigné dans la console par l’exemple de code ci-dessus)

[
    [
        "Product",
        "Qty",
        "Unit Price",
        "Total Price"
    ],
    [
        "Almonds",
        2,
        7.5,
        "=C3 * D3"
    ],
    [
        "Coffee",
        1,
        34.5,
        "=C4 * D4"
    ],
    [
        "Chocolate",
        5,
        9.56,
        "=C5 * D5"
    ],
    [
        "",
        "",
        "",
        "=SUM(E3:E5)"
    ]
]

Voir aussi