Cells GridWeb の操作

ワークシートで Cells にアクセスする

このトピックでは、GridWeb の最も基本的な機能であるセルへのアクセスを見て、セルについて説明します。

各ワークシートには、GridCell オブジェクトのコレクションである GridCells オブジェクトが含まれています。 GridCell オブジェクトは、Aspose.Cells.GridWeb 内のセルを表します。 GridWeb を使用して任意のセルにアクセスできます。推奨される方法は 2 つあります。

以下では、それぞれのアプローチについて説明します。

Cell名を使用

すべてのセルには固有の名前があります。たとえば、A1、A2、B1、B2 などです。Aspose.Cells.GridWeb を使用すると、開発者はセル名を使用して目的のセルにアクセスできます。セル名を (インデックスとして) GridWorksheet の GridCells コレクションに渡すだけです。

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

行と列のインデックスの使用

セルは、行インデックスと列インデックスの位置によっても認識できます。セルの行と列のインデックスを GridWorksheet の GridCells コレクションに渡すだけです。このアプローチは、上記のアプローチよりも高速です。

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

Cell の値へのアクセスと変更

ワークシートで Cells にアクセスするセルへのアクセスについて説明しました。このトピックでは、その説明を拡張して、GridWeb API を使用してセル値にアクセスして変更する方法を示します。

Cell の値へのアクセスと変更

文字列値

セルの値にアクセスして変更する前に、セルへのアクセス方法を知っておく必要があります。セルにアクセスするためのさまざまなアプローチの詳細については、次を参照してください。ワークシートで Cells にアクセスする.

各セルには、getStringValue() という名前のプロパティがあります。セルにアクセスすると、開発者は getStringValue() メソッドにアクセスしてセルの文字列値にアクセスできます。

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

すべてのタイプの値

Aspose.Cells.GridWeb は、各セルに対して特別なメソッド putValue も提供します。このメソッドを使用すると、セルに任意のタイプの値 (Boolean、int、double、DateTime、および string) を挿入または変更できます。

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());

文字列形式の任意の種類の値を取り、適切なデータ型に自動的に変換できる、オーバーロードされたバージョンの putValue メソッドもあります。これを実現するには、以下の例に示すように、ブール値 true を putValue メソッドの別のパラメーターに渡します。

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

Cells への数式の追加

Aspose.Cells.GridWeb が提供する最も価値のある機能は、数式または関数のサポートです。 Aspose.Cells.GridWeb には、ワークシートの数式を計算する独自の数式エンジンがあります。 Aspose.Cells.GridWeb は、組み込み関数とユーザー定義関数または数式の両方をサポートしています。このトピックでは、Aspose.Cells.GridWeb API を使用してセルに数式を追加する方法について詳しく説明します。

数式を追加して計算する方法は?

セルの Formula プロパティを使用して、セル内の数式を追加、アクセス、および変更することができます。 Aspose.Cells.GridWeb は、単純なものから複雑なものまで、ユーザー定義の数式をサポートしています。ただし、多数の組み込み関数または数式 (Microsoft Excel に類似) も Aspose.Cells.GridWeb で提供されます。組み込み関数の完全なリストを表示するには、これを参照してください。サポートされている関数のリスト。

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

数式が B3 セルに追加されましたが、GridWeb によって計算されませんでした

todo:画像_代替_文章

上のスクリーンショットでは、式が B3 に追加されていますが、まだ計算されていないことがわかります。すべての数式を計算するには、以下に示すようにワークシートに数式を追加した後、GridWeb コントロールの GridWorksheetCollection の calculateFormula メソッドを呼び出します。

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();

をクリックして数式を計算することもできます。送信.

GridWebのSubmitボタンをクリック

todo:画像_代替_文章

重要 ユーザーがセーブまた元に戻すボタン、またはシート タブ、すべての式は GridWeb によって自動的に計算されます。

計算後の数式結果

todo:画像_代替_文章

他のワークシートから Cells を参照する

Aspose.Cells.GridWeb を使用すると、異なるワークシートに保存されている値を数式で参照して、複雑な数式を作成できます。

別のワークシートからセル値を参照するための構文は、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");

GridWeb の GridCell でデータ検証を作成する

Aspose.Cells.GridWeb を使用すると、追加できますデータ検証GridWorksheet.getValidations().add() メソッドを使用します。このメソッドを使用して、指定する必要がありますCell 範囲.ただし、単一の GridCell でデータ検証を作成する場合は、GridCell.createValidation() メソッドを使用して直接行うことができます。同様に、あなたは削除することができますデータ検証GridCell.removeValidation() メソッドを使用して GridCell から。

次のサンプル コードは、データ検証セル B3 に20 ~ 40 以外の値を入力すると、セル B3 が表示されます。検証エラーの形で赤XXXXこのスクリーンショットに示すように。

todo:画像_代替_文章

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

カスタム コマンド ボタンの作成

Aspose.Cells.GridWeb には、送信、保存、元に戻すなどの特別なボタンが含まれています。これらのボタンはすべて、Aspose.Cells.GridWeb の特定のタスクを実行します。カスタム タスクを実行するカスタム ボタンを追加することもできます。このトピックでは、この機能の使用方法について説明します。

次のサンプル コードでは、カスタム コマンド ボタンを作成する方法と、そのクリック イベントを処理する方法について説明します。カスタム コマンド ボタンには任意のアイコンを使用できます。説明のために、このイメージ アイコンを使用しました。

todo:画像_代替_文章

次のスクリーンショットでわかるように、ユーザーがカスタム コマンド ボタンをクリックすると、セル A1 にテキストが追加されます。「カスタム コマンド ボタンがクリックされました。」

todo:画像_代替_文章

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

カスタム コマンド ボタンのイベント処理

次のサンプル コードでは、カスタム コマンド ボタンのイベント処理を実行する方法について説明します。

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;

GridWeb のセルの書式設定

考えられる使用シナリオ

GridWeb では、ユーザーが 3% などのパーセンテージ形式でセル データを入力できるようになり、セル内のデータは自動的に 3.00% としてフォーマットされます。ただし、セル スタイルをパーセンテージ形式に設定する必要があります。これは GridTableItemStyle.NumberType が 9 または 10 のいずれかです。数値 9 は 3% を 3% として書式設定しますが、数値 10 は 3% を 3.00% として書式設定します。

Cell GridWebワークシートのデータをパーセンテージ形式で入力

次のサンプル コードは、セル A1 GridTableItemStyle.NumberType を 10 に設定するため、スクリーンショットに示すように、入力データ 3% は自動的に 3.00% としてフォーマットされます。

todo:画像_代替_文章

サンプルコード

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