---
title: Word, Excel, PowerPoint and data
description: Structured Office editing, revision safety, spreadsheet limits, charts, fields and SQL workflows.
order: 5
---

# Word, Excel, PowerPoint and data

FileHop's current MCP source includes native structured Office reads and edits. Older website descriptions may predate these tools. Discover them on the installed build; an inspected `readOnly` reason takes precedence over an extension's apparent support.

## Common editing contract

Inspect the file, read only the relevant range, then submit one ordered atomic batch with `expected_revision` and a meaningful `summary`. A stale revision is `file_changed`: read again and reconcile. Use `dry_run` where exposed to validate without saving.

The engines preserve untouched native package parts instead of rebuilding the whole document from plain text. This is a reason to prefer them for existing files, not a guarantee of universal Office compatibility. Protection, encryption and unsupported parts can make a file read-only. An edit refusal should not be bypassed by silently flattening or dropping those parts.

After editing, review returned warnings/errors and preview the result. In-place saves have history steps; use named versions for meaningful milestones. See [MCP workflow](/docs/mcp/).

## Create from a template and check the result

`sheet_create` and `deck_create` can create populated native workbooks and decks in one call, with editable tables, charts and more. `document_create` writes Word content from Markdown or structured blocks. For a blank file or byte-identical template copy, use the native create tools. Template mode requires `expected_template_revision` and is separate from initial content. See [native Office creation](/docs/office-creation/) for inputs, returned addresses and follow-up edits.

`doc_check` and `deck_check` provide revision-bound advisory findings such as missing alt text, placeholder/review issues and supported layout checks. Read coverage and truncation: a clean advisory report is not certification of Word/PowerPoint layout. `doc_render` and `deck_render` return revision-bound images, currently up to eight pages/slides per call; Word pagination is approximate. Check the relevant pages and keep the native source for [human review](/docs/human-review-sessions/).

## Word documents

1. `doc_inspect` outlines headings, styles, sections, fields, bookmarks, content controls, floating objects, equations, comments, tracked changes and protection.
2. `doc_read` returns Markdown with stable paragraph/table anchors, or structured JSON blocks. Keep `{#p:ID}` anchors when replacing content to update existing blocks. A response can stop at 400 blocks; follow `next`.
3. `doc_edit` handles blocks, text with formatting, tables, pictures, floating objects, equations, links, sections, headers/footers, style definitions and document properties.

Prefer the document's paragraph styles. Use `caption` and `cross_ref` for figure/table numbering rather than typed numbers. Batches update supported fields, references, formulas and contents; inspect the fields report for items left to Word, such as page-number layout. Deleting a bookmark can break references, which are reported.

Address blocks by IDs, bookmark or heading path. Ambiguous heading matches are refused with candidate IDs. `doc_read` can expose hidden text, field codes/results, comments and tracked changes; do not accidentally treat marked deletions as accepted body content. Use `track: true` when reviewing with tracked changes or when protection permits only that mode. Discover the installed review edit schema before accepting or rejecting revisions.

## Spreadsheets

`sheet_inspect` returns sheets, used ranges, visibility, protection, tables, merges, validation, names and editability. `sheet_read` returns typed values separately from displayed values, with optional formulas, styles and notes. This distinction matters for dates, currency, leading zeros, errors and formula results.

Ranges can be A1 references, whole columns/rows, qualified sheet ranges or table names. Reads are capped at 10,000 cells per call; follow `next`. In-editor reads recalculate formulas. Sheets beyond the editor's 100,000-row bound can be read in windows of **last-saved values** instead; those are not newly recalculated results.

`sheet_edit` supports values, formulas, typed dates, formatting, merges, row/column operations, native table creation and sort/filter, notes, dropdowns, existing comment threads, native charts and worksheet operations. Use a qualified A1 range or the exact inspected table name where supported. Current per-call bounds are 500 edits and 50,000 cells. A sheet over 100,000 rows is refused for editing; use a data transformation to rewrite large datasets. Read returned formula errors and spill ranges: a saved file is not proof that a formula is valid.

XLSM inspection or conversion does not imply permission to execute macros or guaranteed macro-aware editing. Honor format, encrypted, protected and unsupported-part refusals. CSV/TSV/Parquet are data formats and cannot preserve the complete styling and multi-sheet model of an XLSX.

## PowerPoint decks

`deck_inspect` provides stable slide IDs, layouts, masters, placeholders, theme fonts/colors and flags for charts, tables, media, animation and comments. `deck_read` reads shapes and their IDs, boxes in points, formatted paragraphs, notes, links, comments, transitions, tables and chart data. Use Markdown format for a compact outline; use structured reads for layout work. Follow `next` and `next_shape` when a call reaches its 200-shape bound.

`deck_edit` supports slide and shape operations, placeholder text, tables, pictures, charts, notes, comments, theme/master/layout edits and transitions. Fill template placeholders rather than drawing a replacement deck. Stable IDs remain useful when slides move; ordinal positions can change.

Charts can have an embedded workbook. `deck_read` reports ranges, formulas and whether chart data disagrees with the workbook (`stale`). Edit chart data through `deck_edit` so both stay synchronized. Do not patch only cached chart labels or assume every chart type is editable; discover the supported chart schema.

Preserving an existing animation or media part is different from authoring every effect. Check previews and unsupported-feature responses before promising animation, font or rendering parity.

## Data analysis and rewriting

Start with `data_schema` for sheet/table selection, column names/types, row counts and sample/statistical information. Use `data_query` for one read-only DuckDB SQL statement over CSV, TSV, Excel, Parquet, JSON/JSONL or SQLite. `path` exposes a single table as `data`; `tables` names multiple inputs for joins. Follow query pagination.

SQL runs with file access restricted by FileHop; it is not an arbitrary DuckDB shell for installing extensions or accessing other files. `data_export` writes the full query result to CSV, TSV, Parquet, JSON, JSONL or XLSX. XLSX result export allows at most 1,048,575 data rows, leaving room for the header.

`data_transform` creates a new file for deduplication, filtering, sorting, sampling, splitting, aggregation, pivots or joins. Splitting creates at most 500 outputs. It rewrites tabular data; it is not a preservation path for a richly formatted workbook. Use `sheet_edit` when workbook structure and presentation must survive.
