Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Vous pouvez spécifier carte fenêtres modales dans l’interface utilisateur Excel pour différents types de données de valeur de cellule. Les cartes peuvent afficher des informations supplémentaires au-delà de ce qui est déjà visible dans une cellule, telles que les images associées, les informations sur les catégories de produits et les attributions de données.
Remarque
Cet article développe les informations décrites dans l’article Concepts de base des types de données Excel . Nous vous recommandons de lire cet article avant d’en savoir plus sur les cartes pour les valeurs de cellule.
Les cartes sont prises en charge pour les types de valeurs de cellule suivants.
- EntityCellValue
- LinkedEntityCellValue
- types de base chaîne, double et booléen
La capture d’écran suivante montre un exemple de valeur d’entité ouverte carte, dans ce cas pour le produit Chef Anton’s Gumbo Mix à partir d’une liste de produits d’épicerie.
Propriétés de la carte
Utilisez properties pour spécifier toutes les informations personnalisées sur vos types de données. La properties clé prend en charge les types de données imbriqués. Chaque propriété imbriquée, ou type de données, doit avoir un type paramètre et basicValue .
Importante
Les types de données imbriqués properties sont utilisés en combinaison avec les valeurs de disposition de carte décrites dans la section d’article suivante. Après avoir défini un type de données imbriqué dans properties, il doit être affecté dans la layouts propriété à afficher sur le carte.
L’extrait de code suivant montre le JSON d’une valeur d’entité avec plusieurs types de données imbriqués dans properties.
Remarque
Pour tester cet extrait de code dans un exemple complet, ouvrez Script Lab dans Excel et sélectionnez Types de données : créer des cartes d’entité à partir de données d’un tableau dans notre bibliothèque d’exemples.
const entity: Excel.EntityCellValue = {
type: Excel.CellValueType.entity,
text: productName,
properties: {
"Product ID": {
type: Excel.CellValueType.string,
basicValue: productID.toString() || ""
},
"Product Name": {
type: Excel.CellValueType.string,
basicValue: productName || ""
},
"Image": {
type: Excel.CellValueType.webImage,
address: product.productImage || ""
},
"Quantity Per Unit": {
type: Excel.CellValueType.string,
basicValue: product.quantityPerUnit || ""
},
"Unit Price": {
type: Excel.CellValueType.double,
basicValue: product.unitPrice,
numberFormat: "$* #,##0.00"
},
Discontinued: {
type: Excel.CellValueType.boolean,
basicValue: product.discontinued || false
}
},
layouts: {
// Enter layout settings here.
}
};
La capture d’écran suivante montre une valeur d’entité carte qui utilise l’extrait de code précédent. La capture d’écran montre l’ID de produit, le nom du produit, l’image, la quantité par unité et le prix unitaire de l’extrait de code précédent.
Disposition de carte
Les valeurs de cellule ont un type de données par défaut carte que l’utilisateur peut afficher. Spécifiez une disposition de carte personnalisée pour améliorer l’expérience utilisateur lors de l’affichage des propriétés. La layouts propriété définit la structure et l’apparence du carte. Permet layouts de spécifier des attributs tels qu’une icône, un titre carte, une image d’un carte et le nombre de sections à afficher.
Importante
Les valeurs imbriquées layouts sont utilisées en combinaison avec les types de données des propriétés de carte décrits dans la section précédente de l’article. Un type de données imbriqué doit être défini dans properties avant de pouvoir être affecté dans layouts pour s’afficher sur le carte.
La layouts propriété contient deux sous-propriétés directes, compact et card. La card propriété spécifie l’apparence d’un carte lorsque le carte est ouvert. La compact propriété est facultative et définit l’icône d’une valeur. L’icône s’affiche dans la valeur de cellule si elle est fournie. Il peut également être affiché dans le carte s’il est référencé en tant que sous-propriété.
Consultez l’énumération EntityCompactLayoutIcons pour obtenir la liste complète des icônes disponibles. L’extrait de code suivant montre comment afficher l’icône shoppingBag .
Dans la card propriété , utilisez l’objet CardLayoutStandardProperties pour définir les composants du carte comme title, subTitleet sections.
La valeur d’entité JSON dans l’extrait de code suivant montre une card disposition avec des objets et mainImage imbriquéstitle, ainsi que trois sections dans le carte. Notez que la title propriété "Product Name" a un type de données correspondant dans la section précédente de l’article Propriétés de carte . La mainImage propriété a également un type de données correspondant "Image" dans la section précédente. La sections propriété prend un tableau imbriqué et utilise l’objet CardLayoutSectionStandardProperties pour définir l’apparence de chaque section.
Dans chaque section carte, vous pouvez spécifier des éléments tels que layout, titleet properties. La layout clé utilise l’objet CardLayoutListSection et accepte la valeur "List". La properties clé accepte un tableau de chaînes. Notez que les properties valeurs, telles que "Product ID", ont des types de données correspondants dans la section précédente de l’article Propriétés de carte . Les sections peuvent également être réductibles et peuvent être définies avec des valeurs booléennes comme réduites ou non réduites lorsque l’entité carte est ouverte dans l’interface utilisateur Excel.
Conseil
La layout clé a également des options d’affichage supplémentaires disponibles au-delà "List" de carte sections. Utilisez "Table" pour Excel.CardLayoutTableSection et "TwoColumn" pour Excel.CardLayoutTwoColumnSection. Notez que la "TwoColumn" disposition est disponible uniquement en préversion.
Remarque
Pour tester cet extrait de code dans un exemple complet, ouvrez Script Lab dans Excel et sélectionnez Types de données : créer des cartes d’entité à partir de données d’un tableau dans notre bibliothèque d’exemples.
const entity: Excel.EntityCellValue = {
type: Excel.CellValueType.entity,
text: productName,
properties: {
// Enter property settings here.
},
layouts: {
compact: {
icon: Excel.EntityCompactLayoutIcons.shoppingBag
},
card: {
title: {
property: "Product Name"
},
mainImage: {
property: "Image"
},
sections: [
{
layout: "List",
properties: ["Product ID"]
},
{
layout: "List",
title: "Quantity and price",
collapsible: true,
collapsed: false, // This section will not be collapsed when the card is opened.
properties: ["Quantity Per Unit", "Unit Price"]
},
{
layout: "List",
title: "Additional information",
collapsible: true,
collapsed: true, // This section will be collapsed when the card is opened.
properties: ["Discontinued"]
}
]
}
}
};
La capture d’écran suivante montre une valeur d’entité carte qui utilise les extraits de code précédents. Dans la capture d’écran, l’icône shoppingBag s’affiche à côté des noms de produits dans la feuille de calcul. Dans l’entité carte, l’objet mainImage s’affiche en haut, suivi de l’objet title qui utilise le nom du produit et est défini sur Gumbo Mix de Chef Anton. La capture d’écran montre sectionségalement . La section Quantité et prix est réductible et contient Quantité par unité et Prix unitaire. Le champ Informations supplémentaires est réductible et réduit lorsque le carte est ouvert.
Remarque
Dans la capture d’écran précédente, l’icône branch s’affiche à côté des condiments dans la section Catégorie . Consultez l’exemple Types de données : créer des cartes d’entité à partir de données dans un tableau pour savoir comment définir des icônes imbriquées comme l’icône de section Catégorie .
Il existe un problème connu avec les icônes imbriquées dans Excel sur Mac. Dans cet environnement, les icônes imbriquées s’affichent toujours en tant qu’icône, quelle que generic soit l’icône sélectionnée avec l’énumération EntityCompactLayoutIcons .
Métadonnées de propriété
Les propriétés d’entité ont un champ facultatif propertyMetadata qui utilise l’objet CellValuePropertyMetadata et offre les propriétés attribution, excludeFromet sublabel. L’extrait de code suivant montre comment ajouter un sublabel à la "Unit Price" propriété à partir de l’extrait de code précédent. Dans ce cas, la sous-étiquette identifie le type de devise.
Remarque
Le propertyMetadata champ n’est disponible que sur les types de données imbriqués dans les propriétés d’entité.
// This code snippet is an excerpt from the `properties` field of the
// preceding `EntityCellValue` snippet. "Unit Price" is a property of
// an entity value.
"Unit Price": {
type: Excel.CellValueType.double,
basicValue: product.unitPrice,
numberFormat: "$* #,##0.00",
propertyMetadata: {
sublabel: "USD"
}
},
Attribution
Ajoutez l’attribution des informations provenant de tiers pour indiquer la source et les informations de licence. Utilisez Excel.CellValueAttributionAttributes pour ajouter l’attribution à une valeur de cellule. L’exemple de code suivant montre comment ajouter une attribution pour l’utilisation d’informations sur la planète Mars à partir de Wikipédia.
async function createPlanet() {
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
const range = sheet.getRange("A1");
const attributionObject: Excel.CellValueAttributionAttributes = {
licenseAddress: "https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_is_free_content",
licenseText: "Free usage information",
sourceAddress: "https://en.wikipedia.org/wiki/Mars",
sourceText: "Wikipedia"
};
range.valuesAsJson = [
[
{
type: Excel.CellValueType.double,
basicType: Excel.RangeValueType.double,
basicValue: 6779, // kilometers (radius)
properties: {
Name: {
type: Excel.CellValueType.string,
basicType: Excel.RangeValueType.string,
basicValue: "Mars",
propertyMetadata: {
sublabel: "Planetary Body",
attribution: [attributionObject]
}
}
}
}
]
];
await context.sync();
});
}
L’image suivante montre comment l’attribution est affichée dans le type de données carte pour l’utilisateur.
Informations sur le fournisseur
Vous pouvez ajouter des informations sur votre complément ou service, qui sont la source des informations dans le type de données carte. Utilisez Excel.CellValueProviderAttributes pour ajouter les informations de votre fournisseur. L’exemple de code suivant montre comment ajouter des informations de fournisseur pour la recherche générique Contoso comme source de données de recherche pour la valeur de cellule.
async function createSearchEntry() {
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
const range = sheet.getRange("A1");
range.valuesAsJson = [
[
{
type: Excel.CellValueType.string,
basicType: Excel.RangeValueType.string,
basicValue: "cell function - Microsoft support",
properties: {
"Search Keywords": {
type: Excel.CellValueType.string,
basicType: Excel.RangeValueType.string,
basicValue: "Cell Values"
}
},
provider: {
description: "Contoso generic search",
// Image credit: Ignacio javier igjav, Public domain, via Wikimedia Commons
logoSourceAddress: "https://upload.wikimedia.org/wikipedia/commons/f/f9/Lupa.png",
logoTargetAddress: "https://contoso.com"
}
}
]
];
await context.sync();
});
}
L’image suivante montre comment les informations du fournisseur apparaissent en tant que logo dans le type de données carte pour l’utilisateur.
Étapes suivantes
Essayez l’exemple Créer et explorer des types de données dans Excel dans notre référentiel OfficeDev/Office-Add-in-samples . Cet exemple vous guide tout au long de la génération, puis du chargement indépendant d’un complément qui crée et modifie des types de données dans un classeur.