React ワークシートの使用

    React Excel Engine の worksheet にデータが保存されます。Worksheet の行やセルにデータを入力でき、対応する値を設定できます。worksheet は、フィルター、ソート、セル書式のカスタマイズができます。

    React ワークシートの使用の例

    以下のコードは、以下のコード スニペットを使用するインポートを示します。

    import { Workbook } from "igniteui-react-excel";
    import { Worksheet } from "igniteui-react-excel";
    import { WorkbookFormat } from "igniteui-react-excel";
    import { Color } from "igniteui-react-core";
    
    import { CustomFilterCondition } from "igniteui-react-excel";
    import { ExcelComparisonOperator } from "igniteui-react-excel";
    import { FormatConditionTextOperator } from "igniteui-react-excel";
    import { OrderedSortCondition } from "igniteui-react-excel";
    import { RelativeIndex } from "igniteui-react-excel";
    import { SortDirection } from "igniteui-react-excel";
    import { WorkbookColorInfo } from "igniteui-react-excel";
    

    ガイドラインの設定

    グリッド線は、ワークシートでセルを視覚的に分離するために使用されます。グリッド線は表示または非表示にできます。また、色を変更することもできます。

    列と行のヘッダーは、ワークシートの displayOptionsshowGridlines プロパティを使用して、表示と非表示を切り替えることができます。以下のコードは、ワークシートのグリッドラインを非表示にする方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.showGridlines = false;
    

    ワークシートの displayOptionsgridlineColor プロパティを使用して、グリッド線の色を設定できます。以下のコードは、ワークシートのグリッド線を変更する方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.gridlineColor = "Red";
    

    ヘッダーの構成

    列ヘッダーと行ヘッダーは、列と行を視覚的に特定するために使用します。また、現在選択されているセルやセル領域をハイライト表示する場合にも使用します。

    列と行のヘッダーは、ワークシートの displayOptionsshowRowAndColumnHeaders プロパティを使用して、表示と非表示を切り替えることができます。以下のコードは、列と行ヘッダーを非表示にする方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.showRowAndColumnHeaders = false;
    

    ワークシートの編集を設定

    デフォルトで保存する worksheet オブジェクトが有効です。worksheet オブジェクトの protect メソッドを使用してワークシートを保護することにより、ワークシートの編集を禁止できます。このメソッドは、保護する部分を決定する null 許容型 bool 引数が多くあり、オプションの 1 つは編集オブジェクトを許容し、false に設定した場合はワークシートの編集を防止します。

    以下のコードは、ワークシートで編集を無効にする方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.protect();
    

    worksheet オブジェクトの protect メソッドを使用して構造変更からワークシートを保護できます。

    保護が設定されると、Worksheet オブジェクトの保護をこれらのオブジェクトでオーバーライドするために、cellFormat オブジェクトの locked プロパティを各セル、行、マージされたセル領域、または列で設定することができます。たとえば、1 つの列のセルを除き、ワークシートのすべてのセルを読み取り専用にする必要がある場合、特定の WorksheetColumn オブジェクトで cellFormat プロパティの lockedfalse に設定します。これにより、その列内のセルの編集をユーザーに許可し、ワークシートの他のセルの編集は禁止できます。

    以下のコードはその方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.protect();
    worksheet.columns(0).cellFormat.locked = false;
    

    ワークシート領域のフィルタリング

    フィルタリングは、worksheet オブジェクトの filterSettings プロパティから取得できるワークシートの WorksheetFilterSettings でフィルター条件を設定できます。フィルター条件は、フィルター条件追加、削除、変更される時に、または reapplyFilters メソッドがワークシートで呼び出されるときに限り再適用されます。フィルターは、領域内で常にデータを評価するわけではありません。

    WorksheetFilterSettings オブジェクトの setRegion メソッドでフィルターを適用する領域を指定できます。

    以下は、フィルターをワークシートに追加するためのメソッド一覧と概要です。

    メソッド 説明
    applyAverageFilter データ範囲全体の平均を下回るデータであるか上回るデータであるかという条件に基づいてデータを絞り込むことのできるフィルターです。
    applyDatePeriodFilter 月または四半期の日付をフィルターできるフィルターを表します。
    applyFillFilter 背景の塗りつぶしに基づいてセルを絞り込むフィルターを表します。このフィルターには CellFill を 1 つ指定します。この塗りつぶしのセルがデータ範囲に表示されることになります。他のセルはすべて非表示になります。
    ApplyFixedValuesFilter 具体的な指定値に基づいて表示セルを絞り込むことのできるフィルターです。
    applyFontColorFilter フォントの色に基づいてセルを絞り込むフィルターを表します。このフィルターには 1 つの色を指定します。この色のフォントのセルがデータ範囲に表示されることになります。他のセルはすべて非表示になります。
    applyIconFilter 条件付き書式アイコンに基づいてセルを絞り込むフィルターを表します。
    applyRelativeDateRangeFilter フィルターの適用日を基点とした相対日付によって日付セルの範囲を絞り込むことのできるフィルターです。
    applyTopOrBottomFilter ソートされた値リストの上位または下位にあるセルを表示できるフィルターです。
    applyYearToDateFilter 日付セルの範囲を現在の年の開始日からフィルターの評価実施日までの期間に絞り込むことのできるフィルターです。
    applyCustomFilter 1 つ、ないし 2 つのカスタム条件に基づいてデータを絞り込むことのできるフィルターです。この 2 つの絞り込み条件は論理積 (and) または論理和 (or) 演算子と組み合わせて使用できます。

    以下のコード スニペットを使用してフィルターをワークシート領域に追加します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.filterSettings.setRegion("Sheet1!A1:A10");
    worksheet.filterSettings.applyAverageFilter(0, AverageFilterType.AboveAverage);
    

    ペインの固定と分割

    ペイン固定機能は、行をワークシートの上または列を左にで固定できます。ユーザーがスクロールしている間、固定した行や列は表示されたままになります。固定された行列は、削除できない実線によってワークシートの残りの部分と区切られます。

    ペイン固定を有効にするために worksheet オブジェクトの displayOptionspanesAreFrozen プロパティを true に設定する必要があります。表示オプション frozenPaneSettingsFrozenRowsFrozenColumns プロパティを使用して固定する行列を指定できます。

    また FirstRowInBottomPaneFirstColumnInRightPane を個々に使用して下ペインの最初の行または右ペインの最初の列を指定できます。

    以下のコード スニペットは、ワークシートのペイン機能を固定する方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.panesAreFrozen = true;
    
    worksheet.displayOptions.frozenPaneSettings.frozenRows = 3;
    worksheet.displayOptions.frozenPaneSettings.frozenColumns = 1;
    
    worksheet.displayOptions.frozenPaneSettings.firstColumnInRightPane = 2;
    worksheet.displayOptions.frozenPaneSettings.firstRowInBottomPane = 6;
    

    ワークシート ズーム レベルの設定

    各ワークシートのズーム レベルは、worksheet オブジェクトの displayOptionsMagnificationInNormalView プロパティを使用して個別に変更できます。このプロパティは、10 から 400 の間の値を取得して適用したいズームのパーセンテージを表します。

    以下のコードはその方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.magnificationInNormalView = 300;
    

    ワークシート レベルのソート

    列または行にワークシート レベル オブジェクトでソートの条件を設定することによってソートが実行されます。列または行を昇順または降順にソートすることができます。

    これには、シートの sortSettings プロパティを使用して取得できる worksheet オブジェクトの WorksheetSortSettings に領域とソートタイプを指定します。

    シートのソート条件は、ソート条件が追加、削除、変更される時に、または reapplySortConditions メソッドがワークシートで呼び出されるときに限り再適用されます。列または行を領域でソートします。'Rows' はデフォルトのソートタイプです。

    以下のコード スニペットは、ワークシートのセル領域を適用する方法を示します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.sortSettings.sortConditions().addItem(new RelativeIndex(0), new OrderedSortCondition(SortDirection.Ascending));
    

    ワークシートの保護

    worksheet オブジェクトで protect メソッドを呼び出してワークシートを保護できます。このメソッドは、以下のユーザー操作を制限または許容する null 許容型 bool パラメーターを公開します。

    • セルの編集
    • 図形、コメント、チャートなどのオブジェクトやコントロールを編集します。
    • シナリオの編集。
    • データ フィルタリング。
    • セルの書式設定。
    • 列の挿入、削除、書式設定。
    • 行の挿入、削除、書式設定。
    • ハイパーリンクの挿入。
    • データのソート。
    • ピボット テーブルの使用

    worksheet オブジェクトで unprotect メソッドを呼び出してワークシートの保護を削除できます。

    以下のコード スニペットは、上記にリストされたすべてのユーザー操作を保護を有効にします。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.protect();
    

    ワークシートの条件付き書式設定

    worksheet の条件付き書式を設定するには、ワークシートの conditionalFormats コレクションで公開される多数の Add メソッドを使用できます。この Add メソッドの最初のパラメーターは条件付き書式に適用する Worksheet の string 領域です。

    Worksheet に追加可能な条件付き書式にその条件が true の場合に WorksheetCell 要素の外観を決定する cellFormat プロパティがあります。たとえば、fillfont などのこの cellFormat プロパティにアタッチされるプロパティを使用してセルの背景およびフォント設定を決定できます。

    ワークシート セルの可視化の動作が異なるため、cellFormat プロパティがない条件付き書式もあります。この条件付き書式は DataBarConditionalFormatColorScaleConditionalFormatIconSetConditionalFormat です。

    既存の workbook を Excel から読み込む際に、その workbook が読み込まれた場合も書式設定は保持されます。workbook を Excel ファイルに保存する場合も保持されます。

    以下のコード例はワークシートの条件付き書式の使用方法を紹介します。

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    var color = new Color();
    color.colorString = "Red";
    
    var format = worksheet.conditionalFormats().addAverageCondition("A1:A10", FormatConditionAboveBelow.AboveAverage);
    format.cellFormat.font.colorInfo = new WorkbookColorInfo(color);
    

    API リファレンス