Arbeiten mit Cells GridWeb

Zugriff auf Cells im Arbeitsblatt

In diesem Thema werden Zellen behandelt, wobei die grundlegendste Funktion von GridWeb betrachtet wird: der Zugriff auf Zellen.

Jedes Arbeitsblatt enthält ein GridCells-Objekt, eine Sammlung von GridCell-Objekten. Ein GridCell-Objekt repräsentiert eine Zelle in Aspose.Cells.GridWeb. Mit GridWeb kann auf jede Zelle zugegriffen werden. Es gibt zwei bevorzugte Methoden:

Nachfolgend wird jeder Ansatz diskutiert.

Verwendung des Namens Cell

Alle Zellen haben einen eindeutigen Namen. Zum Beispiel A1, A2, B1, B2 usw. Aspose.Cells.GridWeb ermöglicht Entwicklern den Zugriff auf jede gewünschte Zelle, indem sie den Zellennamen verwenden. Übergeben Sie einfach den Zellennamen (als Index) an die GridCells-Auflistung des GridWorksheet.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");

Verwenden von Zeilen- und Spaltenindizes

Eine Zelle kann auch anhand ihrer Position in Bezug auf Zeilen- und Spaltenindizes erkannt werden. Übergeben Sie einfach die Zeilen- und Spaltenindizes einer Zelle an die GridCells-Auflistung des GridWorksheet. Dieser Ansatz ist schneller als der obige.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet using its row and column indices
GridCell cell = sheet.getCells().get(0, 1);

Zugreifen auf und Ändern des Werts von Cell

Zugriff auf Cells im Arbeitsblatt den Zugriff auf Zellen besprochen. Dieses Thema erweitert diese Diskussion, um zu zeigen, wie Sie mit GridWeb API auf Zellwerte zugreifen und diese ändern.

Zugriff auf und Änderung des Werts von Cell

Zeichenfolgenwerte

Bevor Sie auf den Wert einer Zelle zugreifen und diesen ändern können, müssen Sie wissen, wie Sie auf Zellen zugreifen. Einzelheiten zu den verschiedenen Ansätzen für den Zugriff auf Zellen finden Sie unterZugriff auf Cells im Arbeitsblatt.

Jede Zelle hat eine Eigenschaft namens getStringValue(). Sobald auf eine Zelle zugegriffen wird, können Entwickler auf die Methode getStringValue() zugreifen, um auf den Stringwert der Zelle zuzugreifen.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");
//Inserting & modifying the string value of "B1" cell
cell.putValue("Hello Aspose.Grid");

Alle Arten von Werten

Aspose.Cells. GridWeb bietet auch eine spezielle Methode, putValue, für jede Zelle. Mit dieser Methode ist es möglich, jede Art von Wert (Boolean, Int, Double, DateTime und String) in eine Zelle einzufügen oder zu ändern.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");
//Putting a value in "B1" cell
cell.putValue(Calendar.getInstance());

Es gibt auch eine überladene Version der putValue-Methode, die jede Art von Wert im String-Format annehmen und automatisch in einen geeigneten Datentyp konvertieren kann. Um dies zu erreichen, übergeben Sie den booleschen Wert true an einen anderen Parameter der putValue-Methode, wie unten im Beispiel gezeigt.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");
//Putting a numeric value as string in "B1" cell that will be converted to a suitable data type automatically
cell.putValue("19.4", true);

Hinzufügen von Formeln zu Cells

Das wertvollste Feature, das Aspose.Cells.GridWeb bietet, ist die Unterstützung von Formeln oder Funktionen. Aspose.Cells. GridWeb hat eine eigene Formel-Engine, die die Formeln in Arbeitsblättern berechnet. Aspose.Cells. GridWeb unterstützt sowohl eingebaute als auch benutzerdefinierte Funktionen oder Formeln. In diesem Thema wird das Hinzufügen von Formeln zu Zellen mithilfe von Aspose.Cells. GridWeb API im Detail erläutert.

Wie fügt man eine Formel hinzu und berechnet sie?

Es ist möglich, Formeln in Zellen hinzuzufügen, darauf zuzugreifen und sie zu ändern, indem Sie die Formeleigenschaft einer Zelle verwenden. Aspose.Cells.GridWeb unterstützt benutzerdefinierte Formeln von einfach bis komplex. Aber auch eine Vielzahl eingebauter Funktionen oder Formeln (ähnlich Microsoft Excel) werden mit Aspose.Cells.GridWeb mitgeliefert. Die vollständige Liste der integrierten Funktionen finden Sie hierListe der unterstützten Funktionen.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Putting some values to cells
sheet.getCells().get("A1").putValue("1st Value");
sheet.getCells().get("A2").putValue("2nd Value");
sheet.getCells().get("A3").putValue("Sum");
sheet.getCells().get("B1").putValue(125.56);
sheet.getCells().get("B2").putValue(23.93);
//Calculating all formulas added in worksheets
gridweb.getWorkSheets().calculateFormula();
//Adding a simple formula to "B3" cell
sheet.getCells().get("B3").setFormula("=SUM(B1:B2)");

Formel zur B3-Zelle hinzugefügt, aber nicht von GridWeb berechnet

todo: Bild_alt_Text

Im obigen Screenshot sehen Sie, dass eine Formel zu B3 hinzugefügt, aber noch nicht berechnet wurde. Um alle Formeln zu berechnen, rufen Sie die Methode computeFormula der GridWorksheetCollection des GridWeb-Steuerelements auf, nachdem Sie Formeln wie unten gezeigt zu Arbeitsblättern hinzugefügt haben.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Calculating all formulas added in worksheets
gridweb.getWorkSheets().calculateFormula();

Benutzer können Formeln auch durch Klicken berechneneinreichen.

Klicken Sie auf die Schaltfläche Senden von GridWeb

todo: Bild_alt_Text

WICHTIG : Wenn ein Benutzer auf die klicktSpeichern oderRückgängig machen Schaltflächen oder die Blattregisterkarten werden alle Formeln von GridWeb automatisch berechnet.

Formelergebnis nach Berechnung

todo: Bild_alt_Text

Verweis auf Cells aus anderen Arbeitsblättern

Mit Aspose.Cells.GridWeb ist es möglich, auf in verschiedenen Arbeitsblättern gespeicherte Werte in ihren Formeln zu verweisen und komplexe Formeln zu erstellen.

Die Syntax zum Verweisen auf einen Zellenwert aus einem anderen Arbeitsblatt lautet SheetName!CellName.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Adding a bit complex formula to "A1" cell
sheet.getCells().get("A1").setFormula("=SUM(F1:F7)/ AVERAGE (E1:E7)-Sheet1!C6");

Datenvalidierung in einer GridCell von GridWeb erstellen

Aspose.Cells.GridWeb ermöglicht das HinzufügenDatenvalidierung mit der Methode GridWorksheet.getValidations().add(). Bei dieser Methode müssen Sie die angebenCell Bereich . Wenn Sie jedoch eine Datenvalidierung in einer einzelnen GridCell erstellen möchten, können Sie dies direkt mit der Methode GridCell.createValidation() tun. Ebenso können Sie entfernenDatenvalidierung aus einer GridCell mit der Methode GridCell.removeValidation().

Der folgende Beispielcode erstellt aDatenvalidierung in einer Zelle B3. Wenn Sie einen Wert eingeben, der nicht zwischen 20 und 40 liegt, wird die Zelle B3 angezeigtValidierungsfehler in Form vonRot XXXX wie in diesem Screenshot gezeigt.

todo: Bild_alt_Text

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Access first worksheet
GridWorksheet sheet = gridweb.getWorkSheets().get(0);
//Access cell B3
GridCell cell = sheet.getCells().get("B3");
//Add validation inside the gridcell
//Any value which is not between 20 and 40 will cause error in a gridcell
GridValidation val = cell.createValidation(GridValidationType.WHOLE_NUMBER, true);
val.setFormula1("=20");
val.setFormula2("=40");
val.setOperator(OperatorType.BETWEEN);
val.setShowError(true);
val.setShowInput(true);

Erstellen von benutzerdefinierten Befehlsschaltflächen

Aspose.Cells.GridWeb enthält spezielle Schaltflächen wie Senden, Speichern und Rückgängig. Alle diese Schaltflächen führen bestimmte Aufgaben für Aspose.Cells.GridWeb aus. Es ist auch möglich, benutzerdefinierte Schaltflächen hinzuzufügen, die benutzerdefinierte Aufgaben ausführen. In diesem Thema wird die Verwendung dieser Funktion erläutert.

Der folgende Beispielcode erläutert, wie eine benutzerdefinierte Befehlsschaltfläche erstellt und ihr Click-Ereignis behandelt wird. Sie können ein beliebiges Symbol für Ihre benutzerdefinierte Befehlsschaltfläche verwenden. Zur Veranschaulichung haben wir dieses Bildsymbol verwendet.

todo: Bild_alt_Text

Wie Sie im folgenden Screenshot sehen können, fügt der Benutzer, wenn er auf die benutzerdefinierte Befehlsschaltfläche klickt, einen Text in Zelle A1 hinzu, der besagt**“Auf meine benutzerdefinierte Befehlsschaltfläche wurde geklickt."**

todo: Bild_alt_Text

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Instantiating a CustomCommandButton object
CustomCommandButton button = new CustomCommandButton();
//Setting the command for button
button.setCommand("MyButton");
//Setting text of the button
button.setText("MyButton");
//Setting tooltip of the button
button.setToolTip("My Custom Command Button");
//Setting image URL of the button
button.setImageUrl("icon.png");
//Adding button to CustomCommandButtons collection of GridWeb
gridweb.getCustomCommandButtons().add(button);

Ereignisbehandlung der benutzerdefinierten Befehlsschaltfläche

Der folgende Beispielcode erläutert, wie die Ereignisbehandlung einer benutzerdefinierten Befehlsschaltfläche durchgeführt wird.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Create custom command event handler to handle the click event
CustomCommandEventHandler cceh=new CustomCommandEventHandler(){
public void handleCellEvent(Object sender, String command){
//Identifying a specific button by checking its command
if (command.equals("MyButton"))
{
//Accessing the cells collection of the worksheet that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Putting value to "A1" cell
sheet.getCells().get("A1").putValue("My Custom Command Button is Clicked.");
sheet.getCells().setColumnWidth(0, 50);
}
}
};
//Assign the custom command event handler created above to gridweb
gridweb.CustomCommand = cceh;

Zellen für GridWeb formatieren

Mögliche Nutzungsszenarien

GridWeb unterstützt jetzt Benutzer bei der Eingabe von Zellendaten im Prozentformat wie 3 %, und die Daten in der Zelle werden automatisch als 3,00 % formatiert. Sie müssen den Zellenstil jedoch auf das Prozentformat festlegen, das entweder GridTableItemStyle.NumberType a 9 oder 10 ist. Die Zahl 9 formatiert 3 % als 3 %, aber die Zahl 10 formatiert 3 % als 3,00 %.

Geben Sie Cell Daten des GridWeb-Arbeitsblatts im Prozentformat ein

Der folgende Beispielcode legt die Zelle A1 GridTableItemStyle.NumberType auf 10 fest, daher werden die Eingabedaten 3 % automatisch als 3,00 % formatiert, wie im Screenshot gezeigt.

todo: Bild_alt_Text

Beispielcode

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Access cell A1 of first gridweb worksheet
GridCell cellA1 = gridweb.getWorkSheets().get(0).getCells().get("A1");
//Access cell style and set its number format to 10 which is a Percentage 0.00% format
GridTableItemStyle st = cellA1.getStyle();
st.setNumberType(10);
cellA1.setStyle(st);