Arbeiten mit bedingter Formatierung
In diesem Thema wird die Open XML SDK ConditionalFormatting-Klasse und ihre Beziehung zum SpreadsheetML-Schema des Open XML-Dateiformats erläutert. Weitere Informationen zur Gesamtstruktur der Teile und Elemente, aus denen ein SpreadsheetML-Dokument besteht, finden Sie unter Struktur eines SpreadsheetML-Dokuments**.
Bedingte Formatierung in SpreadsheetML
Mithilfe der zellenbasierten bedingten Formatierung wird eine Struktur für Daten innerhalb eines Arbeitsblatts bereitgestellt. Durch die Anzeige von Farben zusätzlich zum Anzeigen eines Werts wird die Unterscheidung der relativen Höhe dieser Werte erleichtert. Es sind mehrere Formatierungsoptionen verfügbar, die Sie auf Zellen auf der Grundlage ihres Werts anwenden können. Sie können die Elemente ganz oben oder ganz unten hervorheben, Datenbalken bereitstellen, um eine Benutzeroberfläche im Stil einer Statusanzeige anzuzeigen, oder Farbskalen verwenden, um die Höchst- und Tiefststände anzugeben. Eine bedingte Formatierung kann direkt auf eine Zelle in einem Arbeitsblatt angewendet werden. Der Wert muss nicht Teil einer Tabelle sein.
Alle Einstellungen für bedingte Formatierung werden auf Arbeitsblattebene gespeichert. Das Arbeitsblatt speichert ein <conditionalFormatting-Element> für jedes Format, das auf eine Zelle oder Eine Reihe von Zellen angewendet wird. Die Auflistung von Zellen, auf die das Format angewendet ist, wird mithilfe des sqref-Attributs definiert. Das sqref-Attribut gibt einen Zellenbereich mithilfe der "von:bis"-Notation an, zum Beispiel "A1:A10".
In der folgenden Tabelle sind die allgemeinen Open XML SDK-Klassen aufgeführt, die beim Arbeiten mit der ConditionalFormatting-Klasse verwendet werden.
SpreadsheetML-Element | Open XML SDK-Klasse |
---|---|
cfRule | ConditionalFormattingRule |
Databar | Databar |
colorScale | ColorScale |
Iconset | IconSet |
Open XML SDK-Klasse für bedingte Formatierung
Die Open XML SDKConditionalFormatting-Klasse stellt das Tabellenelement (<conditionalFormatting>) dar, das im Open XML-Dateiformatschema für SpreadsheetML-Dokumente definiert ist. Verwenden Sie die ConditionalFormatting-Klasse , um einzelne <conditionalFormatting-Elemente> in einem SpreadsheetML-Dokument zu bearbeiten.
Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 stellen das ConditionalFormatting-Element (<conditionalFormatting>) vor.
Bei einer bedingten Formatierung handelt es sich um eine Formatierung, z. B. die Zellenschattierung oder Schriftfarbe, die von einer Tabellenkalkulationsanwendung automatisch auf Zellen angewendet werden kann, falls eine bestimmte Bedingung zutrifft. Diese Auflistung drückt Regeln für bedingte Formatierung aus, die auf eine bestimmte Zelle oder einen bestimmten Bereich angewendet sind.
Beispiel: In diesem Beispiel wird die Regel "top10" auf die Zellen C3:C8 angewendet. Verweist @dxfId auf die Formatierung (definiert im Formatvorlagenteil), die auf Zellen angewendet werden soll, die den Kriterien entsprechen.
<conditionalFormatting sqref="C3:C8">
<cfRule type="top10" dxfId="1" priority="3" rank="2"/>
</conditionalFormatting>
© ISO/IEC29500: 2008.
Klasse für eine Regel für bedingte Formatierung
Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 stellen das ConditionalFormattingRule (cfRule>)-Element vor<.
Diese Auflistung stellt eine Beschreibung einer Regel für bedingte Formatierung dar.
Beispiel:
This example shows a conditional formatting rule highlighting cells whose values are greater than 0.5. Beachten Sie, dass der Inhalt der <Formel> in diesem Fall ein statischer Wert ist, aber auch ein Formelausdruck sein kann.
<conditionalFormatting sqref="E3:E9">
<cfRule type="cellIs" dxfId="0" priority="1" operator="greaterThan">
<formula>0.5</formula>
</cfRule>
<conditionalFormatting>
Only rules with a type attribute value of expression support formula syntax.
© ISO/IEC29500: 2008.
Von jeder bedingten Formatierung können verschiedene Formatierungsregeln angegeben werden. Sie können z. B. gleichzeitig eine Farbskala und Datenbalken anwenden. Jedes bedingte Format wird mithilfe eines separaten <cfRule-Elements> dargestellt. Wenn Sie die Anzeigepriorität in der Benutzeroberfläche angeben möchten, können Sie das priority-Attribut verwenden. Da ein <conditionalFormatting-Element> andere formatierte Bereiche auf dem Arbeitsblatt überlappen kann, ist die Priorität für alle für dieses Arbeitsblatt definierten bedingten Formate global.
Das <cfRule-Element> verfügt über viele Formatierungstypen, z. B. cellIs und top10, die angewendet werden können. Jeder Formatierungstyp verwendet gemeinsame Elemente zur Definition seiner Einstellungen. Weitere Informationen zu Attributen für Regeln für bedingte Formatierung finden Sie in der ISO/IEC 29500-Spezifikation.
Datenbalkenklasse
Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 stellen das DataBar-Element (<dataBar>) vor.
Es beschreibt eine Regel für die bedingte Formatierung mit Datenbalken.
Beispiel:
In diesem Beispiel wird eine bedingte Formatierung mit Datenbalken ausgedrückt, die sich auf alle Zellwerte im Zellbereich erstreckt und deren Farbe Blau ist.
<dataBar>
<cfvo type="min" val="0"/>
<cfvo type="max" val="0"/>
<color rgb="FF638EC6"/>
</dataBar>
Die Länge des Datenbalkens kann für jede Zelle wie folgt berechnet werden:
Länge des Datenbalkens = minLength + (Zellwert - minimaler Wert im Bereich) / (maximaler Wert im Bereich - minimaler Wert im Bereich) * (maxLength - minLength),
wobei die minimale und maximale Länge ein fester Prozentwert der Spaltenbreite ist (standardmäßig entsprechend 10 % und 90 %.)
Die minimale Längendifferenz (oder Einheit) ist 1 Pixel.
© ISO/IEC29500: 2008.
Data bars take a single color and display it as a bar. The length of the bar indicates the relative height of the cell value. A data bar uses a separate model inside the conditional formatting rule to define its settings. Das <dataBar-Element> speichert alle relevanten Daten. A data bar requires three settings: the minimum and maximum values to compare cell values to, and a color. Das erste <cfvo-Element> oder das bedingte Formatwertobjekt definiert den Minimalwert, das zweite <cfvo-Element> definiert den Maximalwert. You can use different ways to specify a value, like using a formula or hard-coded value. Another common option is to use the 'min' and 'max' types. Diese <cfvo-Elementtypen> geben die minimalen und maximalen Werte im Zellbereich an, auf die das Format angewendet wurde. This provides a clean stepped gradient between the lowest and highest items. Darüber hinaus können Sie die Farbe des Datenbalkens mithilfe des <Farbelements> angeben.
Farbskalaklasse
Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 stellen das ColorScale-Element (<colorScale>) vor.
Es beschreibt eine Skala mit Farbverlauf in dieser Regel für bedingte Formatierung.
Beispiel:
<colorScale>
<cfvo type="min" val="0"/>
<cfvo type="max" val="0"/>
<color theme="5"/>
<color rgb="FFFFEF9C"/>
</colorScale>
© ISO/IEC29500: 2008.
Mit Farbskalen wird eine Anzeige bereitgestellt, die den relativen Wert zwischen allen Zellelementen angibt, ähnlich einem Datenbalken. Eine Farbskala verwendet ein separates Modell innerhalb der Regel für bedingte Formatierung, um seine Einstellungen zu definieren. Sie können bis zu drei <cfvo>- oder bedingte Formatwert-Wert-Elementwerte angeben: einen für den Anfang der Skalierung, einen für die Mitte der Skala und einen für das Ende der Skalierung. Der mittlere Wert ist optional. Darüber hinaus können Sie die Farbe der Farbskala mithilfe des <Farbelements> angeben.
Symbolsatzklasse
Mit den folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 wird das IconSet-Element (<iconSet>) eingeführt.
Es beschreibt eine Regel für bedingte Formatierung mit einem Symbolsatz.
Beispiel: In diesem Beispiel wird der Stil "3Arrows" von Symbolen veranschaulicht. The first icon in the set must be shown if the cell's value is less than the 33rd percentile. The second icon in the set must be shown if the cell's value is less than the 67th percentile, and greater than or equal to the 33rd percentile. The third icon in the set must be shown if the cell's value is greater than or equal to the 67th percentile.
<iconSet iconSet="3Arrows">
<cfvo type="percentile" val="0"/>
<cfvo type="percentile" val="33"/>
<cfvo type="percentile" val="67"/>
</iconSet>
© ISO/IEC29500: 2008.
Mithilfe von Symbolsätzen können Sie verschiedene Symbolsätze auf die Zellen anwenden, die Ihre Daten enthalten. Vom Symbolsatz wird eine Gruppe von Werten verwendet, um zu erkennen, auf welche Gruppe von Zellen die Formatierungsregel anzuwenden ist. Das erste <cfvo-Element> identifiziert den niedrigsten Wert des Bereichs, das zweite <cfvo-Element>identifiziert den Mittelpunkt, und das dritte <cfvo-Element> identifiziert den höchsten Wert. Ein Symbolsatz erkennt, welche Symbole auf die Zellen anzuwenden sind. Sie können aus einer Vielzahl von hartcodierten Symbolen auswählen. Weitere Informationen zu den verfügbaren Symbolen finden Sie in der ISO/IEC 29500-Spezifikation.