Перейти к содержимому
FastOffice

Ячейки и диапазоны

Правка ячеек, чтение деталей, сдвиги, копирование и вставка, поиск и замена, сортировка, отмена и повтор. Операций на странице: 21.

Правка ячеек, чтение деталей, сдвиги, копирование и вставка, поиск и замена, сортировка, отмена и повтор. Термины — в глоссарии.

Применяет cell edits.

Запрос

Поле Тип TypeScript Обяз. Примечание из контракта
operation "apply_cell_edits" да
subsetId string да
edits CellInputEdit[] да
viewport ViewportWindow | null нет
expectedRevision number | null нет Необязательная проверка от гонок. Если поле есть, оно должно совпадать с текущей ревизией истории книги; при расхождении запрос отклоняется с ошибкой apply-cell-edits-stale-revision, и ничего не меняется. Без поля правка применяется безусловно.
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · apply_cell_edits

Поле Тип TypeScript Обяз.
operation "apply_cell_edits" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
editedKeys string[] да
changedKeys string[] да
dirtyCellCount number да
sheetProtected boolean да
conditionalFormattingRules ContractConditionalRule[] нет
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
tableMetadata ContractTableMetadataProjection | null нет
workbookTableMetadata ContractTableMetadataProjection | null нет
workbookHistory ContractWorkbookHistoryProjection да

Минимальный JSON-шаблон

{
"operation": "apply_cell_edits",
"subsetId": "<subsetId>",
"edits": [],
"requestedBackend": "native-desktop"
}

Применяет cell shift.

Запрос

Поле Тип TypeScript Обяз.
operation "apply_cell_shift" да
subsetId string да
sheetKey string да
rowStart number да
rowEnd number да
colStart number да
colEnd number да
direction ContractXlsxCellShiftDirection да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · apply_cell_shift

Поле Тип TypeScript Обяз.
operation "apply_cell_shift" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
range CellRange да
direction ContractXlsxCellShiftDirection да
changedRows number[] да
changedColumns number[] да
shiftedCellCount number да
removedCellCount number да
cellShiftClaim "live_verified" да
shiftScope "active_visible_value_cells_current_sheet" да
formulaReferenceRewriteClaim "no" да
mergeReferenceRewriteClaim "no" да
dirtyCellCount number да
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
layoutMetrics ContractLayoutMetricsSubset да

Минимальный JSON-шаблон

{
"operation": "apply_cell_shift",
"subsetId": "<subsetId>",
"sheetKey": "<sheetPath>",
"rowStart": 0,
"rowEnd": 0,
"colStart": 0,
"colEnd": 0,
"direction": "<ContractXlsxCellShiftDirection>",
"requestedBackend": "native-desktop"
}

Очищает sheet bounded.

Запрос

Поле Тип TypeScript Обяз.
operation "clear_sheet_bounded" да
subsetId string да
sheetKey string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · clear_sheet_bounded

Поле Тип TypeScript Обяз.
operation "clear_sheet_bounded" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
clearedSheet ContractActiveSheetMeta да
activeSheet ContractActiveSheetMeta да
sheetCount number да
workbookSheets ContractWorkbookSheetMeta[] да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
layoutMetrics ContractLayoutMetricsSubset | null нет
workbookHistory ContractWorkbookHistoryProjection да
sheetClearClaim "live_verified" да
clearScope "active_worksheet_cells_only_preserve_sheet_metadata" да
formattingClearClaim "no" да

Минимальный JSON-шаблон

{
"operation": "clear_sheet_bounded",
"subsetId": "<subsetId>",
"sheetKey": "<sheetPath>",
"requestedBackend": "native-desktop"
}

Фиксирует replacements in workbook subset.

Запрос

Поле Тип TypeScript Обяз.
operation "commit_replacements_in_workbook_subset" да
subsetId string да
query string да
replacement string да
matchCase boolean нет
matchEntireCell boolean нет
lookIn ContractFindLookIn да
scope ContractFindScope да
searchOrder ContractFindSearchOrder нет
expectedRevision number да
locale string нет
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · commit_replacements_in_workbook_subset

Поле Тип TypeScript Обяз.
operation "commit_replacements_in_workbook_subset" да
subsetId string да
session ContractSubsetSessionInfo да
scope ContractFindScope да
lookIn ContractFindLookIn да
searchOrder ContractFindSearchOrder да
plannedEditCount number да
appliedEditCount number да
changedKeys string[] да
dirty boolean да
recalcNeeded boolean да
workbookHistory ContractWorkbookHistoryProjection да

Минимальный JSON-шаблон

{
"operation": "commit_replacements_in_workbook_subset",
"subsetId": "<subsetId>",
"query": "<string>",
"replacement": "<string>",
"lookIn": "<ContractFindLookIn>",
"scope": "<ContractFindScope>",
"expectedRevision": 0,
"requestedBackend": "native-desktop"
}

Вычисляет replacements in workbook subset.

Запрос

Поле Тип TypeScript Обяз.
operation "compute_replacements_in_workbook_subset" да
subsetId string да
query string да
replacement string да
matchCase boolean нет
matchEntireCell boolean нет
lookIn ContractFindLookIn да
scope ContractFindScope да
searchOrder ContractFindSearchOrder нет
resultOffset number нет
resultLimit number нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · compute_replacements_in_workbook_subset

Поле Тип TypeScript Обяз.
operation "compute_replacements_in_workbook_subset" да
subsetId string да
session ContractSubsetSessionInfo да
scope ContractFindScope да
lookIn ContractFindLookIn да
searchOrder ContractFindSearchOrder да
totalEditCount number да
resultOffset number да
returnedEditCount number да
truncated boolean да
nextResultOffset number нет
index ContractFindIndexStats да
edits ContractReplaceEdit[] да

Минимальный JSON-шаблон

{
"operation": "compute_replacements_in_workbook_subset",
"subsetId": "<subsetId>",
"query": "<string>",
"replacement": "<string>",
"lookIn": "<ContractFindLookIn>",
"scope": "<ContractFindScope>",
"requestedBackend": "native-desktop"
}

Вычисляет selection aggregates.

Запрос

Поле Тип TypeScript Обяз.
operation "compute_selection_aggregates" да
subsetId string да
ranges CellRange[] да
aggregateMode "visible_rows" | “all_rows” нет
requestGeneration number нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · compute_selection_aggregates

Поле Тип TypeScript Обяз. Примечание из контракта
operation "compute_selection_aggregates" да
subsetId string да
session ContractSubsetSessionInfo да
aggregateMode "visible_rows" | “all_rows” да
requestGeneration number нет
workbookRevision number да
calculationGeneration number да
cacheStatus "hit" | “miss” да
cacheEntryCount number да
scannedCellCount number да
nonEmptyCount number да Сколько в выделении непустых ячеек — считаются и текст, и числа. То же, что даёт функция СЧЁТЗ.
numericCount number да Сколько ячеек участвует в числовых итогах ниже.
errorCount number да
formulaCount number да
numericAggregatesAvailable boolean да
sum number да
average number да
min number да
max number да

Минимальный JSON-шаблон

{
"operation": "compute_selection_aggregates",
"subsetId": "<subsetId>",
"ranges": [],
"requestedBackend": "native-desktop"
}

Преобразует entity data type in place.

Запрос

Поле Тип TypeScript Обяз.
operation "convert_entity_data_type_in_place" да
subsetId string да
kind ContractEntityDataTypeKind да
range CellRange да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · convert_entity_data_type_in_place

Поле Тип TypeScript Обяз.
operation "convert_entity_data_type_in_place" да
subsetId string да
kind ContractEntityDataTypeKind да
range CellRange да
originalTexts string[] да
disposition ContractEntityConversionDisposition да
didMutate boolean да
entityCells ContractEntityCellMetadata[] да
refusal ContractEntityConversionRefusal | null нет

Минимальный JSON-шаблон

{
"operation": "convert_entity_data_type_in_place",
"subsetId": "<subsetId>",
"kind": "<ContractEntityDataTypeKind>",
"range": "<CellRange>",
"requestedBackend": "native-desktop"
}

Копирует range.

Запрос

Поле Тип TypeScript Обяз.
operation "copy_range" да
subsetId string да
range CellRange да
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · copy_range

Поле Тип TypeScript Обяз.
operation "copy_range" да
subsetId string да
session ContractSubsetSessionInfo да
clipboardId string да
range CellRange да
rowCount number да
colCount number да
cellCount number да
mimeTypes string[] да
mergedRanges CellRange[] нет
sourceSelectionExpandedForMerges boolean нет
clipboardHtml string | null нет
canonicalEdits CellInputEdit[] нет

Минимальный JSON-шаблон

{
"operation": "copy_range",
"subsetId": "<subsetId>",
"range": "<CellRange>",
"requestedBackend": "native-desktop"
}

Запрос

Поле Тип TypeScript Обяз.
operation “fill_across_sheets” да
subsetId string да
sourceRange CellRange да
targetSheetKeys string[] да
mode ContractFillAcrossSheetsMode да
expectedRevision number | null нет
readOnly boolean нет
viewport ViewportWindow | null нет

Ответ при успехе · fill_across_sheets

Поле Тип TypeScript Обяз.
operation “fill_across_sheets” да
subsetId string да
mode ContractFillAcrossSheetsMode да
sourceRange CellRange да
targetSheetKeys string[] да
mutationCount number да
changedKeys string[] да
dirty boolean да
recalcNeeded boolean да
workbookHistory ContractWorkbookHistoryProjection да

Минимальный JSON-шаблон

{
"operation": "fill_across_sheets",
"subsetId": "<subsetId>",
"sourceRange": "<CellRange>",
"targetSheetKeys": "<targetSheetKeys>",
"mode": "<ContractFillAcrossSheetsMode>"
}

Ищет in workbook subset.

Запрос

Поле Тип TypeScript Обяз.
operation "find_in_workbook_subset" да
subsetId string да
query string да
matchCase boolean нет
matchEntireCell boolean нет
lookIn ContractFindLookIn да
scope ContractFindScope да
searchOrder ContractFindSearchOrder нет
resultOffset number нет
resultLimit number нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · find_in_workbook_subset

Поле Тип TypeScript Обяз.
operation "find_in_workbook_subset" да
subsetId string да
session ContractSubsetSessionInfo да
scope ContractFindScope да
lookIn ContractFindLookIn да
searchOrder ContractFindSearchOrder да
totalMatchCount number да
resultOffset number да
returnedMatchCount number да
truncated boolean да
nextResultOffset number нет
index ContractFindIndexStats да
matches ContractFindMatch[] да

Минимальный JSON-шаблон

{
"operation": "find_in_workbook_subset",
"subsetId": "<subsetId>",
"query": "<string>",
"lookIn": "<ContractFindLookIn>",
"scope": "<ContractFindScope>",
"requestedBackend": "native-desktop"
}

Запрос

Поле Тип TypeScript Обяз.
operation “flash_fill_pattern” да
subsetId string да
mode FlashFillMode да
generation number да
examples FlashFillExample[] да
rows FlashFillTargetRow[] да
selectedCandidateId string | null нет
locale string | null нет
refusal FlashFillRefusalContext нет
expectedRevision number | null нет
viewport ViewportWindow | null нет

Ответ при успехе · flash_fill_pattern

Поле Тип TypeScript Обяз.
operation “flash_fill_pattern” да
subsetId string да
mode FlashFillMode да
generation number да
inference FlashFillInference да
applied boolean да
mutationCount number да
projection ComputeResponsePayload | null нет

Минимальный JSON-шаблон

{
"operation": "flash_fill_pattern",
"subsetId": "<subsetId>",
"mode": "<FlashFillMode>",
"generation": 0,
"examples": [],
"rows": []
}

Помечает used range dirty bounded.

Запрос

Поле Тип TypeScript Обяз.
operation "mark_used_range_dirty_bounded" да
subsetId string да
sheetKey string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · mark_used_range_dirty_bounded

Поле Тип TypeScript Обяз.
operation "mark_used_range_dirty_bounded" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
changedSheet ContractActiveSheetMeta да
previousUsedRangeDirty boolean да
usedRangeDirty true да
activeSheet ContractActiveSheetMeta да
sheetCount number да
workbookSheets ContractWorkbookSheetMeta[] да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
layoutMetrics ContractLayoutMetricsSubset | null нет
workbookHistory ContractWorkbookHistoryProjection да
usedRangeDirtyClaim "live_verified" да
usedRangeDirtyScope "current_session_worksheet_used_range_marker" да
workbookMutationClaim "no" да

Минимальный JSON-шаблон

{
"operation": "mark_used_range_dirty_bounded",
"subsetId": "<subsetId>",
"sheetKey": "<sheetPath>",
"requestedBackend": "native-desktop"
}

Перемещает clipboard range.

Запрос

Поле Тип TypeScript Обяз.
operation "move_clipboard_range" да
subsetId string да
clipboardId string да
target CellRange да
transpose false нет
pasteMode "all" нет
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · paste_range

Поле Тип TypeScript Обяз. Примечание из контракта
operation "paste_range" да
subsetId string да
session ContractSubsetSessionInfo да
clipboardId string да
delta DeltaSummary да
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
layoutMetrics ContractLayoutMetricsSubset нет
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
conditionalFormattingRules ContractConditionalRule[] нет
dataValidationMetadata ContractDataValidationMetadata нет
workbookHistory ContractWorkbookHistoryProjection да Состояние истории после применения правки: владелец, глубина и ревизия. Оболочка показывает эти значения как есть.

Минимальный JSON-шаблон

{
"operation": "move_clipboard_range",
"subsetId": "<subsetId>",
"clipboardId": "<string>",
"target": "<CellRange>",
"requestedBackend": "native-desktop"
}

Вставляет range.

Запрос

Поле Тип TypeScript Обяз.
operation "paste_range" да
subsetId string да
clipboardId string да
target CellRange да
transpose boolean нет
pasteMode ContractPasteMode нет
expectedRevision number нет
readOnly boolean нет
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · paste_range

Поле Тип TypeScript Обяз. Примечание из контракта
operation "paste_range" да
subsetId string да
session ContractSubsetSessionInfo да
clipboardId string да
delta DeltaSummary да
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
layoutMetrics ContractLayoutMetricsSubset нет
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
conditionalFormattingRules ContractConditionalRule[] нет
dataValidationMetadata ContractDataValidationMetadata нет
workbookHistory ContractWorkbookHistoryProjection да Состояние истории после применения правки: владелец, глубина и ревизия. Оболочка показывает эти значения как есть.

Минимальный JSON-шаблон

{
"operation": "paste_range",
"subsetId": "<subsetId>",
"clipboardId": "<string>",
"target": "<CellRange>",
"requestedBackend": "native-desktop"
}

Формирует preview для cell edits.

Запрос

Поле Тип TypeScript Обяз.
operation "preview_cell_edits" да
subsetId string да
edits CellInputEdit[] да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · preview_cell_edits

Поле Тип TypeScript Обяз.
operation "preview_cell_edits" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
editedKeys string[] да
changedKeys string[] да
dirtyCellCount number да
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да

Минимальный JSON-шаблон

{
"operation": "preview_cell_edits",
"subsetId": "<subsetId>",
"edits": [],
"requestedBackend": "native-desktop"
}

Читает cell details.

Запрос

Поле Тип TypeScript Обяз.
operation "read_cell_details" да
subsetId string да
row number да
col number да
viewport ViewportWindow да
warmSheetForEdit boolean нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · read_cell_details

Поле Тип TypeScript Обяз.
operation "read_cell_details" да
subsetId string да
session ContractSubsetSessionInfo да
cell ContractCellDetails да

Минимальный JSON-шаблон

{
"operation": "read_cell_details",
"subsetId": "<subsetId>",
"row": 0,
"col": 0,
"viewport": {
"top": 0,
"left": 0,
"rows": 40,
"cols": 12
},
"requestedBackend": "native-desktop"
}

Повторяет last cell edit.

Запрос

Поле Тип TypeScript Обяз.
operation "redo_last_cell_edit" да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · redo_last_cell_edit

Поле Тип TypeScript Обяз.
operation "redo_last_cell_edit" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
workbookHistory ContractWorkbookHistoryProjection да
redoneKey string да
changedKeys string[] да
dirtyCellCount number да
conditionalFormattingRules ContractConditionalRule[] нет
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да

Минимальный JSON-шаблон

{
"operation": "redo_last_cell_edit",
"subsetId": "<subsetId>",
"requestedBackend": "native-desktop"
}

Повторяет last range edit.

Запрос

Поле Тип TypeScript Обяз.
operation "redo_last_range_edit" да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · redo_last_range_edit

Поле Тип TypeScript Обяз.
operation "redo_last_range_edit" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
workbookHistory ContractWorkbookHistoryProjection да
redoneRange CellRange да
redoneKeys string[] да
changedKeys string[] да
dirtyCellCount number да
sheetProtected boolean да
conditionalFormattingRules ContractConditionalRule[] нет
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
layoutMetrics ContractLayoutMetricsSubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
dataValidationMetadata ContractDataValidationMetadata да
tableName string | null нет
tableRef string | null нет
tableDataBodyRef string | null нет
tableMetadata ContractTableMetadataProjection | null нет
workbookTableMetadata ContractTableMetadataProjection | null нет
worksheetAutoFilterMetadata ContractWorksheetAutoFilterMetadata | null нет
hiddenRows number[] да
manualHiddenRows number[] да
filterHiddenRows number[] да
rangeFilterHistoryReplay boolean да

Минимальный JSON-шаблон

{
"operation": "redo_last_range_edit",
"subsetId": "<subsetId>",
"requestedBackend": "native-desktop"
}

Сортирует range rows.

Запрос

Поле Тип TypeScript Обяз.
operation "sort_range_rows" да
subsetId string да
range CellRange да
levels SortRangeRowsLevel[] да
control "apply" | “prepare” | “commit” | “cancel” нет
requestGeneration number | null нет
expectedRevision number | null нет
visibleRowsOnly boolean нет
locale string | null нет
caseSensitive boolean нет
numericTextMode SortRangeRowsNumericTextMode нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · sort_range_rows

Поле Тип TypeScript Обяз.
operation "sort_range_rows" да
subsetId string да
control "apply" | “prepare” | “commit” | “cancel” да
requestGeneration number | null нет
delta DeltaSummary да
movedRowCount number да
sortedRowCount number да
rowMoves SortRangeRowsRowMove[] да

Минимальный JSON-шаблон

{
"operation": "sort_range_rows",
"subsetId": "<subsetId>",
"range": "<CellRange>",
"levels": [],
"requestedBackend": "native-desktop"
}

Отменяет last cell edit.

Запрос

Поле Тип TypeScript Обяз.
operation "undo_last_cell_edit" да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · undo_last_cell_edit

Поле Тип TypeScript Обяз.
operation "undo_last_cell_edit" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
workbookHistory ContractWorkbookHistoryProjection да
restoredKey string да
changedKeys string[] да
dirtyCellCount number да
conditionalFormattingRules ContractConditionalRule[] нет
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да

Минимальный JSON-шаблон

{
"operation": "undo_last_cell_edit",
"subsetId": "<subsetId>",
"requestedBackend": "native-desktop"
}

Отменяет last range edit.

Запрос

Поле Тип TypeScript Обяз.
operation "undo_last_range_edit" да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Ответ при успехе · undo_last_range_edit

Поле Тип TypeScript Обяз.
operation "undo_last_range_edit" да
subsetId string да
session ContractSubsetSessionInfo да
supportedSubset string да
delta DeltaSummary да
workbookHistory ContractWorkbookHistoryProjection да
restoredRange CellRange да
restoredKeys string[] да
changedKeys string[] да
dirtyCellCount number да
sheetProtected boolean да
conditionalFormattingRules ContractConditionalRule[] нет
currentSourceSaveReadiness ContractCurrentSourceSaveReadiness | null нет
activeSheet ContractActiveSheetMeta да
geometry ContractGeometrySubset да
layoutMetrics ContractLayoutMetricsSubset да
recalcNeeded boolean да
viewport ViewportWindow да
previewCells ContractPreviewCell[] да
dataValidationMetadata ContractDataValidationMetadata да
tableName string | null нет
tableRef string | null нет
tableDataBodyRef string | null нет
tableMetadata ContractTableMetadataProjection | null нет
workbookTableMetadata ContractTableMetadataProjection | null нет
worksheetAutoFilterMetadata ContractWorksheetAutoFilterMetadata | null нет
hiddenRows number[] да
manualHiddenRows number[] да
filterHiddenRows number[] да
rangeFilterHistoryReplay boolean да

Минимальный JSON-шаблон

{
"operation": "undo_last_range_edit",
"subsetId": "<subsetId>",
"requestedBackend": "native-desktop"
}

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.