Datenvalidierung
Microsoft Excel bietet einige gute Funktionen zur Auto-Filterung oder Validierung von Arbeitsblattdaten.
Datenvalidierung bezieht sich auf die Möglichkeit, Regeln für die in einem Arbeitsblatt eingegebenen Daten festzulegen. Verwenden Sie beispielsweise eine Validierung, um sicherzustellen, dass eine Spalte mit der Bezeichnung DATUM nur Datumsangaben enthält oder dass eine andere Spalte nur Zahlen enthält. Sie können sogar sicherstellen, dass eine Spalte mit der Bezeichnung DATUM nur Daten innerhalb eines bestimmten Bereichs enthält. Mit der Datenvalidierung können Sie steuern, was in Zellen im Arbeitsblatt eingegeben wird. Aspose.Cells unterstützt vollständig die Datenvalidierung und AutoFilter-Funktionen von Microsoft Excel. Dieser Artikel erläutert, wie Sie die Funktionen in Microsoft Excel verwenden und sie mit Aspose.Cells codieren.
Datenvalidierungstypen und Ausführung
Microsoft Excel unterstützt verschiedene Arten von Datenvalidierungen. Jede Art wird verwendet, um zu steuern, welche Art von Daten in eine Zelle oder Zellbereich eingegeben wird. Nachfolgend werden Codeausschnitte illustriert, wie überprüft wird, dass:
- Zahlen ganzzahlig sind, also keine Nachkommastellen haben.
- Dezimalzahlen die richtige Struktur aufweisen. Das Codebeispiel definiert, dass ein Zellenbereich zwei Dezimalstellen haben sollte.
- Werte auf eine Liste von Werten beschränkt sind. Die Listenvalidierung definiert eine separate Liste von Werten, die auf eine Zelle oder Zellenbereich angewendet werden können.
- Daten in einen bestimmten Bereich fallen.
- Zeiten innerhalb eines bestimmten Bereichs liegen.
- Ein Text eine bestimmte Zeichenlänge hat.
Datenvalidierung mit Microsoft Excel
Um Validierungen mit Microsoft Excel zu erstellen:
-
Wählen Sie in einem Arbeitsblatt die Zellen aus, auf die Sie die Überprüfung anwenden möchten.
-
Wählen Sie im Daten-Menü die Validierung aus. Der Validierungsdialog wird angezeigt.
-
Klicken Sie auf die Registerkarte Einstellungen und geben Sie die Einstellungen wie unten gezeigt ein.
Datenvalidierungseinstellungen
Datumsvalidierung mit Aspose.Cells
Die Datenvalidierung ist eine leistungsstarke Funktion zur Überprüfung der in Arbeitsblätter eingegebenen Informationen. Mit der Datenvalidierung können Entwickler Benutzern eine Auswahlliste bereitstellen, Daten eingaben auf einen bestimmten Typ oder eine bestimmte Größe beschränken usw. In Aspose.Cells hat jede Arbeitsblatt eine Validierungen-Objekt, das eine Sammlung von Validierung-Objekten darstellt. Um die Validierung einzurichten, legen Sie einige Eigenschaften der Validierung-Klasse fest:
- Typ: stellt den Validierungstyp dar, der durch Verwendung eines der vordefinierten Werte in der ValidationType-Aufzählung angegeben werden kann.
- Operator: stellt den Operator dar, der bei der Validierung verwendet werden soll, der durch Verwendung eines der vordefinierten Werte in der OperatorType-Aufzählung angegeben werden kann.
- Formel1: stellt den Wert oder den Ausdruck dar, der mit dem ersten Teil der Datenvalidierung verbunden ist.
- Formel2: stellt den Wert oder den Ausdruck dar, der mit dem zweiten Teil der Datenvalidierung verbunden ist.
Wenn die Eigenschaften des Validierung-Objekts konfiguriert wurden, können Entwickler die CellArea-Struktur verwenden, um Informationen über den Zellbereich zu speichern, der unter Verwendung der erstellten Validierung überprüft wird.
Arten der Datenvalidierung
Datenvalidierung ermöglicht es Ihnen, Geschäftsregeln in jede Zelle zu integrieren, sodass falsche Eingaben zu Fehlermeldungen führen. Geschäftsregeln sind die Richtlinien und Verfahren, nach denen ein Unternehmen betrieben wird. Aspose.Cells unterstützt alle wichtigen Arten der Datenvalidierung.
Die ValidationType-Aufzählung hat die folgenden Elemente:
Member Name | Description |
---|---|
ANY_VALUE | Bezeichnet einen Wert eines beliebigen Typs. |
WHOLE_NUMBER | Bezeichnet den Validierungstyp für ganze Zahlen. |
DECIMAL | Bezeichnet den Validierungstyp für Dezimalzahlen. |
LIST | Bezeichnet den Validierungstyp für Dropdown-Listen. |
DATE | Bezeichnet den Validierungstyp für Daten. |
TIME | Bezeichnet den Validierungstyp für Zeit. |
TEXT_LENGTH | Bezeichnet den Validierungstyp für die Länge des Textes. |
CUSTOM | Bezeichnet den benutzerdefinierten Validierungstyp. |
Programmbeispiel: Validierung ganzer Zahlen
Mit diesem Typ der Validierung können Benutzer nur ganze Zahlen innerhalb eines bestimmten Bereichs in die validierten Zellen eingeben. Die folgenden Codebeispiele zeigen, wie der Validierungstyp WHOLE_NUMBER implementiert wird. Das Beispiel erstellt dieselbe Datenvalidierung mit Aspose.Cells, die wir zuvor mit Microsoft Excel erstellt haben.
Programmbeispiel: Dezimalstellen-Validierung
Mit diesem Typ der Validierung kann der Benutzer Dezimalzahlen in die validierten Zellen eingeben. Im Beispiel ist der Benutzer darauf beschränkt, nur Dezimalwerte einzugeben, und der Validierungsbereich ist A1:A10.
Programmbeispiel: Listen-Validierung
Dieser Typ der Validierung ermöglicht es dem Benutzer, Werte aus einer Dropdown-Liste einzugeben. Es wird eine Liste bereitgestellt: eine Reihe von Zeilen mit Daten. Benutzer können nur Werte aus der Liste auswählen. Der Validierungsbereich ist der Zellenbereich A1:A5 im ersten Arbeitsblatt.
Es ist wichtig, dass Sie die Eigenschaft Validation.setInCellDropDown auf true setzen.
Programmbeispiel: Datum-Validierung
Bei diesem Validierungstyp gibt der Benutzer Datumswerte innerhalb eines bestimmten Bereichs oder gemäß bestimmten Kriterien in die validierten Zellen ein. Im Beispiel ist der Benutzer darauf beschränkt, Daten zwischen 1970 und 1999 einzugeben. Der Gültigkeitsbereich ist die Zelle B1.
Programmbeispiele: Zeit-Validierung
Bei diesem Typ der Validierung können Benutzer Zeiten innerhalb eines bestimmten Bereichs oder gemäß bestimmter Kriterien in die validierten Zellen eingeben. Im Beispiel ist der Benutzer darauf beschränkt, Zeiten zwischen 09:00 und 11:30 Uhr einzugeben. Der Gültigkeitsbereich ist die Zelle B1.
Programmbeispiele: Textlängen-Validierung
Bei diesem Validierungstyp können Benutzer Textwerte einer bestimmten Länge in die validierten Zellen eingeben. Im Beispiel ist der Benutzer darauf beschränkt, Zeichenfolgenwerte mit nicht mehr als 5 Zeichen einzugeben. Der Gültigkeitsbereich ist die Zelle B1.
Datenvalidierungsregeln
Wenn Datenvalidierungen implementiert werden, kann die Validierung überprüft werden, indem verschiedenen Werten in den Zellen unterschiedliche Werte zugewiesen werden. Cell.GetValidationValue() kann verwendet werden, um das Validierungsergebnis abzurufen. Das folgende Beispiel veranschaulicht diese Funktion mit verschiedenen Werten. Die Beispieldatei kann über den folgenden Link zur Überprüfung heruntergeladen werden:
SampleDataValidationRules.xlsx
Beispielcode
Überprüfen, ob die Validierung in einer Zelle eine Dropdown-Liste ist
Wie wir gesehen haben, gibt es viele Arten von Validierungen, die in einer Zelle implementiert werden können. Wenn Sie überprüfen möchten, ob die Validierung Dropdown ist oder nicht, kann die Eigenschaft Validation.InCellDropDown verwendet werden, um dies zu testen. Der folgende Beispielcode demonstriert die Verwendung dieser Eigenschaft. Die Beispieldatei zum Testen kann über den folgenden Link heruntergeladen werden:
sampleDataValidationRules.xlsx
CellArea zur vorhandenen Validierung hinzufügen
Es kann Fälle geben, in denen Sie CellArea zu bestehender Validation hinzufügen möchten. Wenn Sie CellArea mit Validation.AddArea(CellArea cellArea) hinzufügen, überprüft Aspose.Cells alle vorhandenen Bereiche, um zu sehen, ob der neue Bereich bereits existiert. Wenn die Datei eine große Anzahl von Validierungen hat, hat dies eine Leistungseinbuße zur Folge. Um dies zu überwinden, bietet die API die Methode Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge). Das checkIntersection-Parameter gibt an, ob der Schnittpunkt eines gegebenen Bereichs mit bestehenden Validierungsbereichen überprüft werden soll. Wenn Sie es auf false setzen, wird die Überprüfung anderer Bereiche deaktiviert. Der checkEdge-Parameter gibt an, ob die angewandten Bereiche überprüft werden sollen. Wenn der neue Bereich der obere linke Bereich wird, werden interne Einstellungen neu erstellt. Wenn Sie sicher sind, dass der neue Bereich nicht der obere linke Bereich ist, können Sie diesen Parameter als false setzen.
Der folgende Codeausschnitt zeigt die Verwendung der Methode Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) zum Hinzufügen einer neuen CellArea zu bestehender Validation.
Die Quell- und Ausgabedateien sind als Referenz angehängt.