Använd skuggning på alternativa rader och kolumner med villkorlig formatering

Contents
[ ]

Den här artikeln använder sig av Excels inbyggda funktioner som ROW, COLUMN & MOD. Här är några detaljer om dessa funktioner för en bättre förståelse av kodavsnittet som tillhandahålls i förväg.

  • RAD() funktion returnerar radnumret för en cellreferens. Om referensparametern utelämnas antar den att referensen är den celladress där ROW-funktionen har skrivits in.
  • KOLUMN() funktion returnerar kolumnnumret för en cellreferens. Om referensparametern utelämnas, förutsätter den att referensen är den celladress där funktionen COLUMN har skrivits in.
  • MOD() funktion returnerar resten efter att ett tal har dividerats med en divisor, där den första parametern till funktionen är det numeriska värdet vars återstod du vill hitta och den andra parametern är talet som används för att dela in i talparametern. Om divisorn är 0, kommer den att returnera #DIV/0! fel.

Låt oss börja skriva lite kod för att uppnå detta mål med hjälp av Aspose.Cells for .NET API.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create an instance of Workbook or load existing
var book = new Workbook();
// Access the Worksheet on which desired rule has to be applied
var sheet = book.Worksheets[0];
// Add FormatConditions to the instance of Worksheet
int idx = sheet.ConditionalFormattings.Add();
// Access the newly added FormatConditions via its index
var conditionCollection = sheet.ConditionalFormattings[idx];
// Define a CellsArea on which conditional formatting will be applicable
// The code creates a CellArea ranging from A1 to I20
var area = 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(FormatConditionType.Expression);
// Access the newly added FormatCondition via its index
FormatCondition formatCondirion = conditionCollection[idx];
// Set the formula for the FormatCondition
// Formula uses the Excel's built-in functions as discussed earlier in this article
formatCondirion.Formula1 = @"=MOD(ROW(),2)=0";
// Set the background color and patter for the FormatCondition's Style
formatCondirion.Style.BackgroundColor = Color.Blue;
formatCondirion.Style.Pattern = BackgroundType.Solid;
// Save the result on disk
book.Save(dataDir + "output_out.xlsx");

Följande ögonblicksbild visar det resulterande kalkylbladet laddat i Excel-applikationen.

todo:image_alt_text

För att tillämpa skuggningen på alternativa kolumner behöver du bara ändra formeln**=MOD(RAD();2)=0** som**=MOD(KOLUMN(),2)=0** , det är; istället för att hämta radindexet, ändra formeln för att hämta kolumnindexet. Det resulterande kalkylarket, i det här fallet, kommer att se ut som följer.

todo:image_alt_text