スプレッドシートエディター セルでの作業

目次

  • セルの選択
    • セル選択のコールバック
  • セルの削除
    • WorksheetView.removeCellShiftUp
    • WorksheetView.removeCellShiftLeft
  • セルのクリア
    • WorksheetView.clearCurrentCellFormatting
    • WorksheetView.clearCurrentCellContents
    • WorksheetView.clearCurrentCell

セルの選択

マウスポインターを使用してセルを指します。セルをクリックして選択します。選択したセルは太字の四角形で強調表示されます。

動作仕様

ユーザーがセルをクリックすると、PrimefacesコンポーネントにアタッチされたJavaScriptコールバック関数がイベントを処理します。

セル選択コールバック

                     var columnId = $(this).find('.ui-cell-editor-input input').attr('data-columnid');

                    var rowId = $(this).find('.ui-cell-editor-input input').attr('data-rowid');

                    var clientId = $(this).find('.ui-cell-editor').attr('id');

                    PF('currentColumnIdValue').jq.val(columnId);

                    PF('currentRowIdValue').jq.val(rowId);

                    PF('currentCellClientIdValue').jq.val(clientId);

                    if ($(this).find('.ui-cell-editor-output div').hasClass('b')) {

                        PF('boldOptionButton').check();

                    } else {

                        PF('boldOptionButton').uncheck();

                    }

                    if ($(this).find('.ui-cell-editor-output div').hasClass('i')) {

                        PF('italicOptionButton').check();

                    } else {

                        PF('italicOptionButton').uncheck();

                    }

                    if ($(this).find('.ui-cell-editor-output div').hasClass('u')) {

                        PF('underlineOptionButton').check();

                    } else {

                        PF('underlineOptionButton').uncheck();

                    }

                    PF('fontOptionSelector').selectValue($(this).find('.ui-cell-editor-output div').css('font-family').slice(1, -1));

                    PF('fontSizeOptionSelector').selectValue($(this).find('.ui-cell-editor-output div')[0].style.fontSize.replace('pt', ''));

                    ['al', 'ac', 'ar', 'aj'].forEach(function(v) {

                        if ($(this).find('.ui-cell-editor-output div').hasClass(v)) {

                            // TODO: save the value to PF('alignOptionSelector');

                        }

                    });

                    PF('currentColumnWidthValue').jq.val($(this).width());

                    PF('currentRowHeightValue').jq.val($(this).height());

                    $($this.selectedCell).removeClass('sheet-selected-cell');

                    $(this).addClass('sheet-selected-cell');

                    $this.selectedCell = this;

セルの削除

セルを削除するには:

  1. 削除したいセルをクリックします。
  2. フォーマットタブ に切り替えます。
  3. セルを削除ボタンをクリックします。
  4. セルを上にシフトまたはセルを左にシフトボタンを選択します。

エディタは選択したセルを削除します。隣接するセルは自動的に水平または垂直にシフトされ、スペースが調整されます。

動作仕様

セルを上にシフトセルを左にシフトはJSFバックエンドビーンWorksheetViewによって処理されます。該当するメソッドのソースコードは次のとおりです:

WorksheetView.removeCellShiftUp

     public void removeCellShiftUp() {

        if (!isLoaded()) {

            return;

        }

        getAsposeWorksheet().getCells().deleteRange(currentRowId, currentColumnId, currentRowId, currentColumnId, com.aspose.cells.ShiftType.UP);

        purge();

    }

WorksheetView.removeCellShiftLeft

     public void removeCellShiftLeft() {

        if (!isLoaded()) {

            return;

        }

        getAsposeWorksheet().getCells().deleteRange(currentRowId, currentColumnId, currentRowId, currentColumnId, com.aspose.cells.ShiftType.LEFT);

        purge();

    }

セルのクリア

セルをクリアするには:

  1. クリアしたいセルをクリックします。
  2. フォーマットタブ に切り替えます。
  3. セルをクリアボタンをクリックします。
  4. フォーマット内容、または両方のオプションを選択します。

エディタは選択したセルをクリアします。

動作仕様

フォーマット内容、および両方はJSFバックエンドビーンWorksheetViewによって処理されます。該当するメソッドのソースコードは次のとおりです:

WorksheetView.clearCurrentCellFormatting

     public void clearCurrentCellFormatting() {

        if (!isLoaded()) {

            return;

        }

        getAsposeWorksheet().getCells().clearFormats(currentRowId, currentColumnId, currentRowId, currentColumnId);

        reloadCell(currentColumnId, currentRowId);

        RequestContext.getCurrentInstance().update(currentCellClientId);

    }

WorksheetView.clearCurrentCellContents

     public void clearCurrentCellContents() {

        if (!isLoaded()) {

            return;

        }

        getAsposeWorksheet().getCells().clearContents(currentRowId, currentColumnId, currentRowId, currentColumnId);

        reloadCell(currentColumnId, currentRowId);

        RequestContext.getCurrentInstance().update(currentCellClientId);

    }

WorksheetView.clearCurrentCell

     public void clearCurrentCell() {

        if (!isLoaded()) {

            return;

        }

        getAsposeWorksheet().getCells().clearRange(currentRowId, currentColumnId, currentRowId, currentColumnId);

        reloadCell(currentColumnId, currentRowId);

        RequestContext.getCurrentInstance().update(currentCellClientId);

    }