Appliquer un ombrage aux lignes et colonnes alternées avec une mise en forme conditionnelle
Cet article utilise des fonctions intégrées à Excel telles que ROW, COLUMN & MOD. Voici quelques détails sur ces fonctions pour une meilleure compréhension de l’extrait de code fourni ci-après.
- La fonction ROW() retourne le numéro de ligne d’une référence de cellule. Si le paramètre de référence est omis, elle suppose que la référence est l’adresse de la cellule dans laquelle la fonction ROW a été entrée.
- La fonction COLUMN() retourne le numéro de colonne d’une référence de cellule. Si le paramètre de référence est omis, elle suppose que la référence est l’adresse de la cellule dans laquelle la fonction COLUMN a été entrée.
- La fonction MOD() retourne le reste après la division d’un nombre par un diviseur, où le premier paramètre de la fonction est la valeur numérique dont vous souhaitez trouver le reste et le deuxième paramètre est le nombre utilisé pour diviser le paramètre de nombre. Si le diviseur est 0, alors il retournera l’erreur #DIV/0!.
Commençons à écrire du code pour atteindre cet objectif avec l’aide de l’API Aspose.Cells for Node.js via C++.
const path = require("path"); | |
const AsposeCells = require("aspose.cells.node"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
// Create an instance of Workbook or load existing | |
const book = new AsposeCells.Workbook(); | |
// Access the Worksheet on which desired rule has to be applied | |
const sheet = book.getWorksheets().get(0); | |
// Add FormatConditions to the instance of Worksheet | |
let idx = sheet.getConditionalFormattings().add(); | |
// Access the newly added FormatConditions via its index | |
const conditionCollection = sheet.getConditionalFormattings().get(idx); | |
// Define a CellsArea on which conditional formatting will be applicable | |
// The code creates a CellArea ranging from A1 to I20 | |
const area = AsposeCells.CellArea.createCellArea("A1", "I20"); | |
// Add area to the instance of FormatConditions | |
conditionCollection.addArea(area); | |
// Add a condition to the instance of FormatConditions | |
// For this case, the condition type is expression, which is based on some formula | |
idx = conditionCollection.addCondition(AsposeCells.FormatConditionType.Expression); | |
// Access the newly added FormatCondition via its index | |
const formatCondition = conditionCollection.get(idx); | |
// Set the formula for the FormatCondition | |
formatCondition.setFormula1("=MOD(ROW(),2)=0"); | |
// Set the background color and pattern for the FormatCondition's Style | |
formatCondition.getStyle().setBackgroundColor(AsposeCells.Color.Blue); | |
formatCondition.getStyle().setPattern(AsposeCells.BackgroundType.Solid); | |
// Save the result on disk | |
book.save(path.join(dataDir, "output_out.xlsx")); |
La capture d’écran suivante montre la feuille de calcul résultante chargée dans l’application Excel.
![]() |
---|
Pour appliquer l’ombrage aux colonnes alternatives, il vous suffit de changer la formule =MOD(ROW(),2)=0 en =MOD(COLUMN(),2)=0, c’est-à-dire; au lieu d’obtenir l’index de ligne, modifier la formule pour récupérer l’index de colonne.
La feuille de calcul résultante, dans ce cas, ressemblera comme suit.
![]() |
---|