Zia.

Excel

Excel Add-in Developer

Custom Excel add-ins that add your own worksheet functions, pull live data into cells, and automate reporting — built with Office.js custom functions, ranges, and worksheet events across desktop, web, and Mac.

What I build

What's included

Custom functions

Your own worksheet functions (=YOURCO.VALUE(...)), including async and streaming functions that fetch live data into cells.

Task panes & ribbon tools

UI to import data, configure settings, and push updates back — beyond what native Excel offers.

Ranges, bindings & events

Reading and writing ranges, persistent bindings, and reacting to onChanged / onSelectionChanged worksheet events.

Live data sync via API

Pulling from your database or API into a workbook and pushing edited rows back — two-way sync, not a static export.

Problems this solves

Sound familiar?

  • Analysts pasting the same report data into Excel from another system every morning.
  • Workbooks that go stale the moment they're saved because nothing refreshes them.
  • A bespoke calculation copied between dozens of files with no single source of truth.
  • Needing a function Excel simply doesn't have built in.

Example use cases

What this looks like in practice

01

Live CRM figures

A streaming custom function =CRM.DEALVALUE("id") that pulls live deal values into a sales workbook.

02

Templated import

A task pane that fetches yesterday's sales from an API and drops them into a formatted reporting template.

03

Two-way sync

An add-in that validates edited rows and writes them back to a Postgres database, keeping Excel and the system in sync.

Tech stack

The tools I use for this

Core

  • Office.js (Excel API)
  • Custom Functions runtime
  • TypeScript

Data model

  • Ranges
  • Bindings
  • Worksheet events

Integration

  • REST API
  • Your database

Delivery

  • Manifest
  • AppSource
  • Sideloading

Process

How it works

01

Define the workflow

What data comes in, what functions are needed, what goes back.

02

Build with Office.js

Custom functions, ranges, and events in a typed add-in.

03

Wire the data

Connect your API/database for live, two-way sync.

04

Ship

AppSource, sideload, or central deployment.

Excel is part of my broader Microsoft 365 development work. For Word and generated documents, see document automation software.

FAQ

Questions, answered

Can you build custom Excel functions like =MYFUNC()?
Yes. Office.js custom functions let me add your own worksheet functions, including asynchronous and streaming ones that pull live data into cells and update automatically.
Can the add-in pull live data from our API or database?
Yes — I connect the add-in to your REST API or database so cells show current data, with optional refresh on a schedule or on demand.
Will custom Excel add-in development work on Excel for the web and Mac?
Yes. Office.js add-ins run on Excel for Windows, Mac, iPad, and the web; I add capability checks where an API differs by platform.
Can it write data back, or only read?
Both. Using ranges and bindings the add-in can validate and push edits back to your system, not just display data.
How is the add-in delivered to our team?
Via AppSource, sideloading for testing, or centralized deployment through the Microsoft 365 admin center so everyone gets it automatically.

Let's build it together

Email me with what you need — I'll reply with a clear plan and next steps. Prefer chat? WhatsApp works too.