Turning an Excel Spreadsheet into a Web Application
You can turn an Excel spreadsheet into a web application, but the tools that promise to do it each handle only part of the job. The data moves across almost as it is. The formulas, macros, and habits around the file have to be read, written down, and rebuilt as rules. Find the copy people actually trust, build one workflow first, and run the application beside the spreadsheet until the totals match.
Can a Tool Convert It for You?
Several kinds of tool promise to. Each one does part of the job.
Excel can save a workbook, a sheet, or a range as a web page. It is a static copy: people can view the data but not change it. That publishes a report, not a system.
Power Apps can build an app on a workbook stored in OneDrive or SharePoint, or copy the data into a table in Dataverse, Microsoft's cloud database for Power Apps. The data must be formatted as an Excel table first. Microsoft's Excel connector handles files up to 25 MB, does not support pivot tables, and warns against writing to one file from several places at once. Copying into Dataverse avoids those limits, but if you change a column's data type while Power Apps creates the table, values that do not fit the new type are dropped.
No-code app builders also make screens from your rows and columns. Ask what they do with the formulas, macros, and lookups, because that is where the business rules live. We suggest Power Apps when the spreadsheet is mostly a list with a form, few rules live in its formulas, and your team already works in Microsoft 365. A custom application fits when the rules are many, people outside your organization need to use it, or the data has to reach your other systems. Either way, the work below is the same, because it is about what the spreadsheet does, not the tool that replaces it.
What Carries Over, and What Changes
Almost everything in the workbook has a place in the application. Very little of it moves without a decision.
| In the spreadsheet | In the application |
|---|---|
| Rows of data | Records in database tables. Data that is already one row per record moves almost unchanged. |
| A tab per month, customer, or site | One table with a month, customer, or site column, so one report can cover all of them. |
| Formulas | Business rules, written down and built into the application or the database. |
| Macros and VBA | Buttons, checks, and scheduled jobs in the application. |
| Colors and comments that mean something | Status fields people pick from a list, so "red means on hold" is recorded and searchable. |
| Dropdowns and lookup sheets | Reference tables that one named person maintains. |
| The layout of the sheet | Screens built around the job each person does, not around the grid. |
| Pivot tables and charts | Reports, plus exports back to Excel where people still want them. |
| No record of who changed what | A change history on every record. |
Treat the spreadsheet as the specification. Every formula, color, and hidden column is a rule someone relied on, and each one gets a home in the application or a decision to drop it.
Reading the Formulas and Macros
The formulas are the part people underestimate. A workbook that has run a process for years holds rules nobody wrote down, and some of them contradict each other. We read them before we rebuild anything. You can see most of what we look for yourself:
- Show the formulas. Formulas > Show Formulas (Ctrl+`, the grave accent key) puts every formula in place of its result. Look for cells in a formula column that hold a typed number instead. Someone overrode the rule there, and the application needs to know whether that was an exception or a mistake.
- Trace what depends on what. Trace Precedents and Trace Dependents, on the same tab, draw arrows between cells. A total that feeds three other sheets is a rule the application has to reproduce exactly.
- Unhide everything. Hidden sheets, rows, and columns often hold the rates and lookup lists the formulas use.
- Open the macros. Alt+F8 lists the macros people run by hand: from that list, with a shortcut key, or from a button. Alt+F11 opens the Visual Basic Editor, which holds all the code, including macros that run on their own when the file opens or saves, a cell changes, or the sheet recalculates. Note who runs each macro, and when.
- Find the links out. Data > Workbook Links (Edit Links in older versions) lists the other workbooks its formulas read from, and Data > Queries & Connections lists the data it imports. Each one is another source the process depends on.
Each rule becomes a line in a list: what it calculates, who relies on it, and one example with a known answer. That list is the acceptance test. The new application has to produce the same answer, or someone with the authority to decide says the old answer was wrong.
Which Copy Is the Real One?
Shared spreadsheets multiply. One copy lives on the shared drive, another was emailed to a manager last spring, and a third sits on a laptop with this month's changes in it. Each one is somebody's real list.
Before anything moves, decide which copy is the source, then find what the others hold that it does not: rows added in one place only, columns someone inserted for their own tracking, a total someone corrects by hand every month. Those differences are requirements. A column one person added for their own use is often a feature the whole team needs. Collect every copy people work from, not only the one on the shared drive.
Switching Over Without Losing Numbers
- 1One workflow first
Build the part of the spreadsheet that causes the most trouble, end to end, with the people who use it. The rest stays in Excel for now.
- 2Move the data with a script
Clean and migrate the data with a script you can run again, because you will run it again at cutover.
- 3Reconcile
Compare row counts and totals between the spreadsheet and the application, by month, customer, or whatever the business counts by. Then compare the reports people use most.
- 4Run side by side
The team uses both until the numbers match and people trust the new system.
- 5Retire the spreadsheet
Make the file read-only and keep it. Excel stays useful for analysis, fed by exports from the application, which is now the source of truth.
Nobody trusts a new system because it is new. They trust it when it gives the same totals as the spreadsheet for a month they already closed.
What to Bring to the First Conversation
- The workbook. A copy with sensitive rows removed is enough, plus every other copy people work from.
- Who uses it. How many people, how often, and who edits it versus who only reads it.
- The rules that matter. The formulas and macros you know the business depends on, and the name of the person who understands each one.
- The numbers people check. The totals and reports someone looks at every week or month, and how often they turn out wrong.
- What it connects to. Accounting exports, emailed copies, other workbooks it reads from or feeds.
- The failure history. Lost edits, wrong totals, and the afternoon someone saved over the file.
With those, a Workflow & AI Review can map the process and price the first version. Our Spreadsheet & Access Replacement service covers the path from that review to cutover, and the review fee is credited toward the build. If the spreadsheet has already become an Access database, our guide to replacing an Access database covers that path.
- Microsoft Support: Save all or part of a workbook to a static Web page and Save a workbook as a webpage ("can be viewed but not changed")
- Microsoft Learn: Create a canvas app based on Excel data (data formatted as a table; values that do not match a changed data type are removed on upload)
- Microsoft Learn: Excel Online (Business) connector (25 MB file limit, no pivot tables, no simultaneous writes from several clients)
- Microsoft Support: Manage workbook links (Workbook Links replaces Edit Links; there is no automatic way to find every link)
- Microsoft Learn: Using events with Excel objects (VBA that runs on worksheet and workbook events, not only on a button)
Keep Reading
Spreadsheet & Access Replacement
How we replace a shared spreadsheet with one application your whole team can use.
See the service GuideReplacing an Access Database with a Web Application
The 2 GB wall, multi-user pain, and the staged path to SQL Server and the web.
Read the guide GuideCustom Software or Off-the-Shelf?
How to tell whether a product would do the job before you replace the spreadsheet.
Read the guide GuideHow Much Does Custom Software Cost?
What drives the number, and the costs that arrive after launch.
Read the guideRunning the business on a spreadsheet?
We reply within one business day, and the first conversation is always free. Prefer to talk? Call (859) 429-2846.
Start the Conversation →