Skip to content
Octo × Excel PT Request an assessment

Octo for Excel and spreadsheets

The script writes the formula. The one who signs off on the number is you.

An .xlsx is a package of XML that can be read and written without Excel installed. Octo generates batch reports from your template, audits legacy spreadsheets without opening macros, simulates scenarios on the real spreadsheet through the Excel API in Microsoft Graph without changing the file, and writes Office Scripts for Power Automate. The number that goes out, the tenant permission and the personal data stay with people.

Rows per sheet in Excel1,048,576by 16,384 columns; 15-digit precision
PDF conversion in Graph2 MBsource file limit
Office Scripts in Power Automate1,600runs per user per day
Sources16listed at the end of the page
01

What Octo does with your spreadsheets.

Six possible deliverables, drawn from the research. All of them start with a copy and reading, all of them check the result by content, and all of them go to review by whoever owns the spreadsheet.

Batch reports from a template

An extract becomes one .xlsx per branch, from the template built in Excel: Table, structured formulas, defined name, data validation and conditional formatting.

Deliverable: files, a manifest with sha256 and open items

Validation before generating

Non-positive quantities, discounts above the cap, dates outside the month and branches without a target go to a list of open items, not to the report. Money summed in Decimal.

Deliverable: pendencias.csv for the controller's office

Audit of legacy spreadsheets

Macros, external links, connections, pivot cache, #REF!, constants inside formulas, formulas that differ from their neighbors and very hidden sheets. Read-only; nothing is saved.

Deliverable: findings per cell and a risk score per file

Simulation on the real spreadsheet

A non-persistent session in the Excel API in Graph: writes assumptions, recalculates with the real formulas and reads the result; when the session closes, the file stays the same.

Deliverable: scenarios side by side for the decision

Office Scripts and Power Automate

A TypeScript script that standardizes an extract in blocks, creates a Table and a pivot table and returns a small summary, respecting 5 MB per call and 120 s in the flow.

Deliverable: a reviewable .osts script and a scheduled flow

Power Query inventory

Reads each workbook's connections and M code to know where each piece of data comes from and with whose credentials. Writes new queries for a person to review and paste.

Deliverable: map of sources per spreadsheet
02

Eight arms, a checked spreadsheet.

The same Octo cycle, applied to Excel workbooks. Each arm has a narrow role; the ones who sign off on the number, grant the permission and answer for the data are people.

  1. Discovery

    Surveys what already exists

    Inventory of the workbooks, Excel versions in use and where each file is stored: network, OneDrive or SharePoint.

  2. Data

    Pins down where each number comes from

    Power Query, connections and external links of each spreadsheet; column types and money in Decimal.

  3. Security

    Looks after access and data

    Minimum permission in Graph, tokens outside the code, macros and personal data flagged (LGPD, Brazil's data protection law), including in the pivot cache.

  4. Architecture

    Chooses the path

    Open XML file directly, the Excel API in Graph, Office Scripts with Power Automate or COM with a person present.

  5. Development

    Writes the script

    Generators, validators and scripts with the source of each limit noted in the file.

  6. Review

    Checks by content

    The script's total equal to Excel's recalculation, the PDF opened, a history line written. "The file was saved" is not a check.

  7. Release

    Prepares the delivery

    Delivers the files and the manifest. Sending to the client, the board or the portal is done with a person's approval.

  8. Documentation

    Records what applies to your environment

    Templates, validation rules, permissions granted, who approved each batch and how to roll back.

Octo works with copies and reading; it writes to the production spreadsheet only with recorded approval. It does not decide the number that goes out, does not keep anyone's credentials and does not answer for the data.

03

Every task, its own path.

The criteria Octo uses to choose, with the documented limit of each path.

TaskPathNotes
Generate reports from a templateopenpyxl + CSVWrites the formula; Excel does the calculating
Preserve pivots and chartsTemplate built in Excelopenpyxl preserves pivots, doesn't create them; shapes may be lost
Audit a folder of spreadsheetsZIP + openpyxl, read-only.xls is listed for conversion
Simulate scenarios on the real spreadsheetGraph, non-persistent sessionOneDrive for Business and SharePoint only; the file doesn't change
Write the approved scenarioGraph, persistent sessionDelegated permission; requests in sequence
Export to PDF?format=pdfSource of up to 2 MB
Standardize an extract and create a pivotOffice Scripts5 MB per call, 5 million cells per range
Run every day with no one therePower Automate + Office Scripts1,600 runs per user per day; 120 s
Inventory Power QueryReading the connections and the M codeRefreshing stays with Excel
Refresh everything the way a person wouldCOM on a workstation with a userNot supported by Microsoft as a service
04

From copy and paste to a checked batch.

Three steps. Each one only makes sense after the previous one has shown results on your team.

A proposal, not a promise

1 Today

Audit and inventory

Octo shows what is in the spreadsheets and what is broken, without writing anything.

  • Findings per cell and risk per file
  • Power Query source map
  • Macros and personal data flagged
Gain: knowing the size of the problem before migrating
2 Next

Batch from a template

Reports come out of the team's template, with validation before and a check after.

  • Open items instead of hidden errors
  • Manifest with total and sha256
  • Formulas that whoever opens the file can audit
Gain: the team checks exceptions, not file by file
3 Later

Cloud spreadsheet with a record

Simulation in Graph, approved writes and Power Automate flows with reviewed Office Scripts.

  • Scenarios without a parallel copy
  • Who approved each write
  • PDF with sha256 for the archive
Gain: decisions with a before, an after and proof
05

Confirmed by a source.

Every point below has a source published by Microsoft (Learn and Support), by the package's official repository (PyPI, NuGet, PowerShell Gallery) or in Brazilian federal law. The examples are scripts to follow, not runs. The sources are in the next section.

5

points with a published source, each with its reference shown alongside.

ConfirmedGraph only on business storage
The Excel API works with files in OneDrive for Business, SharePoint and group drives; not OneDrive Consumer yet, and .xls is not accepted.Source: learn.microsoft.com, Working with Excel in Microsoft Graph
ConfirmedSessions only with delegated permission
createSession requires delegated Files.ReadWrite; app permissions are not accepted. A persistent session expires after about 5 min idle, a non-persistent one after about 7.Source: learn.microsoft.com, workbook: createSession and Excel in Graph
Confirmedopenpyxl preserves pivots, doesn't create them
"read-support for pivot tables so that they will be preserved"; creating pivots by code is not a goal. With data_only=True, it returns the value saved the last time Excel read the sheet.Source: openpyxl.readthedocs.io, pivot and tutorial
ConfirmedUnattended automation not supported
Microsoft does not recommend or support Office automation from a service, ASP.NET or DCOM; it points to Graph and to editing the Open XML directly.Source: learn.microsoft.com, unattended automation of Office
ConfirmedPower Query connectors on the web
In Excel for the web, Table/Range, OData, business SharePoint and OneDrive, SQL Server, Web API, PostgreSQL, Azure, Dataverse, Dynamics 365 and Salesforce, among others, refresh. Queries in the Data Model, third-party cloud folders and sources behind an on-premises gateway do not refresh; limit of 1,000 connections per user.Source: support.microsoft.com, Power Query data sources in Excel versions
06

What Octo does, and what stays with you.

Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

Surveys, organizes and produces the files: documents, spreadsheets, presentations, schedules, inventories and check reports, on file and through the APIs, without sending or publishing anything.

Deliverable: material ready to check

Your team checks

Whoever is accountable for the document, the spreadsheet or the schedule checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.

Step: checked by the person accountable

Who signs and approves

Octo does not sign, approve or send. The document owner reviews and signs; the project manager approves the baseline; the Microsoft 365 administrator grants consent for permissions; the data protection officer approves anything that goes out with personal data.

Approval: document owner and 365 administrator
07

Sources.

Microsoft documentation (Graph, Office Scripts, Power Query, lifecycle, Excel specifications) and the openpyxl library documentation, consulted on Oct 30, 2026.

Your spreadsheets, audited and checked.

The assessment starts with a read-only audit of the spreadsheets that matter. You get the list of what is broken, what depends on whom and the questions only your team can answer, and you decide with that in hand.