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

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

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

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

Request

Поле Тип TypeScript Обяз. Примечание из контракта
operation “apply_cell_edits” да
subsetId string да
edits CellInputEdit[] да
viewport ViewportWindow | null нет
expectedRevision number | null нет OPTIONAL optimistic guard. When present it must equal the session’s current workbookHistory.revision; a mismatch refuses the request with apply-cell-edits-stale-revision and mutates NOTHING. Omit it for the historical unconditional behaviour.
requestedBackend ComputeBackendKind | null нет

Success payload · 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.

Request

Поле Тип 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 нет

Success payload · 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.

Request

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

Success payload · 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.

Request

Поле Тип 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 нет

Success payload · 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.

Request

Поле Тип 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 нет

Success payload · 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.

Request

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

Success payload · 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 да COUNTA-equivalent: number of non-blank cells in the selection (text and numbers both count).
numericCount number да Number of cells whose value participates in the numeric aggregates below.
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.

Request

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

Success payload · 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.

Request

Поле Тип TypeScript Обяз. Примечание из контракта
operation “copy_range” да
subsetId string да
range CellRange да
requestedBackend ComputeBackendKind | null нет

Success payload · 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"
}

Ищет in workbook subset.

Request

Поле Тип 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 нет

Success payload · 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"
}

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

Request

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

Success payload · 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.

Request

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

Success payload · 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 да Post-commit Rust owner/depth/revision. The shell projects this directly.

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

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

Вставляет range.

Request

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

Success payload · 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 да Post-commit Rust owner/depth/revision. The shell projects this directly.

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

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

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

Request

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

Success payload · 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.

Request

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

Success payload · 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.

Request

Поле Тип TypeScript Обяз. Примечание из контракта
operation “redo_last_cell_edit” да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Success payload · 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.

Request

Поле Тип TypeScript Обяз. Примечание из контракта
operation “redo_last_range_edit” да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Success payload · 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.

Request

Поле Тип 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 нет

Success payload · 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.

Request

Поле Тип TypeScript Обяз. Примечание из контракта
operation “undo_last_cell_edit” да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Success payload · 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.

Request

Поле Тип TypeScript Обяз. Примечание из контракта
operation “undo_last_range_edit” да
subsetId string да
viewport ViewportWindow | null нет
requestedBackend ComputeBackendKind | null нет

Success payload · 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"
}

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

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