Wenden Sie Schattierung auf abwechselnde Zeilen und Spalten mit bedingter Formatierung an

Contents
[ ]

Dieser Artikel nutzt die integrierten Funktionen von Excel wie ROW, COLUMN & MOD. Hier sind einige Details dieser Funktionen für ein besseres Verständnis des Code-Snippets, das im Voraus bereitgestellt wird.

  • REIHE() Funktion gibt die Zeilennummer eines Zellbezugs zurück. Wenn der Referenzparameter weggelassen wird, wird davon ausgegangen, dass die Referenz die Zellenadresse ist, in die die ROW-Funktion eingegeben wurde.
  • SÄULE() Funktion gibt die Spaltennummer eines Zellbezugs zurück. Wenn der Referenzparameter weggelassen wird, wird davon ausgegangen, dass die Referenz die Zelladresse ist, in die die COLUMN-Funktion eingegeben wurde.
  • MOD() Die Funktion gibt den Rest zurück, nachdem eine Zahl durch einen Divisor geteilt wurde, wobei der erste Parameter der Funktion der numerische Wert ist, dessen Rest Sie finden möchten, und der zweite Parameter die Zahl ist, die zum Teilen in den Zahlenparameter verwendet wird. Wenn der Divisor 0 ist, wird #DIV/0 zurückgegeben! Error.

Beginnen wir mit dem Schreiben von Code, um dieses Ziel mit Hilfe von Aspose.Cells for .NET API zu erreichen.

// 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");

Der folgende Schnappschuss zeigt die resultierende Tabelle, die in die Excel-Anwendung geladen wurde.

todo: Bild_alt_Text

Um die Schattierung auf alternative Spalten anzuwenden, müssen Sie lediglich die Formel ändern**=MOD(ZEILE(),2)=0** als**=MOD(SPALTE(),2)=0** , das ist; Anstatt den Zeilenindex abzurufen, ändern Sie die Formel, um den Spaltenindex abzurufen. Die resultierende Tabelle sieht in diesem Fall wie folgt aus.

todo: Bild_alt_Text