How to find every external reference before you publish excel to sharepoint
- Step 1Audit the publish candidate before upload — Drop the
.xlsxyou're about to put on SharePoint or Teams onto the tool. JSZip unpacks the container in your browser and scans the relationship and connection XML. - Step 2Identify the references that won't survive the cloud context — Read
Found N external link(s):and then. [type] urllines. Anyexternal_refto a local path or UNC share, and anydata_connectionto an internal source, will break for SharePoint viewers. - Step 3Break workbook references to cached values — In Excel, Data → Edit Links → Break Link converts each external workbook reference to its last value. This is what makes the figures display correctly in Excel for the web without a live source.
- Step 4Convert live formulas to static values if needed — For a fully self-contained publish, freeze remaining live formulas to values with the Formula to Value converter so nothing tries to recalculate against an unreachable source.
- Step 5Remove or rewrite connections and internal hyperlinks — Delete
data_connectionentries under Data → Queries & Connections unless the source is cloud-reachable, and rewrite internalhyperlinktargets to SharePoint/Teams URLs viewers can open. - Step 6Re-audit, then publish — Re-run the auditor. A
No external links found in this workbook.result means the file is self-contained — upload it to SharePoint or Teams and viewers get a clean experience.
How each link type behaves once published to SharePoint
SharePoint stores the file as-is and does not repair references — each type fails in its own way from the cloud render context.
| Report label | What SharePoint/Teams viewers see | Fix before publishing |
|---|---|---|
external_ref | Update Links? prompt or #REF!; the source path doesn't resolve from the cloud | Data → Edit Links → Break Link to bake in cached values |
hyperlink | Clicking a \\share\… or C:\… link does nothing for viewers | Rewrite to a SharePoint/Teams URL, or remove the hyperlink |
data_connection | Refresh fails; data is stale or errors for everyone | Delete under Data → Queries & Connections (or repoint to a cloud source) |
SharePoint publishing facts and tool limits
Key facts to set expectations for a clean publish.
| Question | Answer |
|---|---|
| Does SharePoint strip external links on upload? | No — it stores the file byte-for-byte; references remain and break for viewers |
| Does this tool remove the links? | No — it reports them; you break them in Excel, then re-audit |
| Accepted input | .xlsx only (re-save .xls / .xlsb first) |
| Output | Text report: Found N external link(s): + n. [type] url, or No external links found in this workbook. |
| Minimum tier / size | Pro — 50 MB / 100,000 rows / 5 files; Developer up to 500 MB |
| Privacy | 100% in-browser via JSZip; the file is never uploaded to audit it |
Cookbook
Common SharePoint/Teams publish scenarios with the literal report text. Internal hosts and paths anonymised.
Local-path reference that breaks for every viewer
A figure pulled from a workbook on your C: drive resolves only for you. Published to SharePoint, every viewer hits a broken link.
Report: Found 1 external link(s): 1. [external_ref] file:///C:/Finance/rates.xlsx Action: Data > Edit Links > Break Link before publishing.
Network-share hyperlink useless in the cloud
A cell links to a UNC path that viewers can't reach from SharePoint. Rewrite it to a SharePoint document URL.
Report: Found 1 external link(s): 1. [hyperlink] file:///\\fileserver\docs\guide.docx Action: Rewrite to the SharePoint URL of guide.docx, or remove.
Internal database connection that won't refresh
A Power Query connection to an internal SQL server fails to refresh in Teams. Remove it or repoint to a cloud-reachable source.
Report: Found 1 external link(s): 1. [data_connection] Data Source=sql-fin-02;Initial Catalog=Ledger Action: Delete under Data > Queries & Connections before publish.
A SharePoint-hosted reference that does resolve
Not every external_ref is doomed — a reference to a file already on SharePoint, via its HTTPS URL, can resolve for viewers with access. The audit shows the URL so you can confirm it's a cloud path, not a local one.
Report: Found 1 external link(s): 1. [external_ref] https://contoso.sharepoint.com/sites/fin/inputs.xlsx Note: HTTPS/SharePoint target may resolve for permitted viewers; verify access before relying on it.
The clean re-audit that clears you to publish
After breaking links, freezing values, and removing connections, the second pass returns the line that means a clean viewer experience.
Pass 2 (after remediation): No external links found in this workbook. -> Self-contained: safe to upload to SharePoint / Teams.
Edge cases and what actually happens
SharePoint doesn't fix links on upload
By design (SharePoint behaviour)SharePoint and Teams store the workbook exactly as uploaded — they do not break, update, or repair external references. A link that breaks on your desktop will break for every viewer in the cloud. The only reliable fix is to make the file self-contained before publishing, which is what the audit-break-re-audit loop achieves.
Reference resolves for you locally, breaks in SharePoint
Why pre-publish audit mattersA file:///C:/… or mapped-drive external_ref works on your machine, so you never see the prompt — but from SharePoint's render context the path is meaningless. The auditor reports the link regardless of whether the source is currently reachable, exposing the break before viewers do.
Link to a file already on SharePoint via HTTPS
May resolve — verify accessA reference whose target is an https://…sharepoint.com/… URL can resolve for viewers who have permission to the source file. The audit reports it as external_ref with the full URL; confirm the target's sharing settings before relying on a live cloud reference rather than baking in cached values.
The report shows the target but not the cell
Not reportedThe inventory lists type and target only. To break or rewrite a link in Excel, search (Ctrl+F) for the path or file token shown. The audit's role is to prove what the file links to before it's published.
Data connection to an internal source
Fails to refresh in the cloudA data_connection to an on-prem database or a UNC file can't refresh from SharePoint/Teams — viewers get stale data or errors. Delete it before publishing unless you repoint it to a cloud-reachable source. The audit reports the connection string so you can judge the source's reachability.
Hyperlink anchored to an image or logo
Not detectedShape/image-anchored hyperlinks live in xl/drawings/_rels/*.rels, outside the cell-hyperlink relationships the scan reads. If your template's logo links to an intranet page, the auditor won't surface it — review images manually before publishing externally.
Encrypted workbook
Cannot parseAn open-password-encrypted file is an encrypted container JSZip can't open. Audit and clean the unencrypted file first. Note that SharePoint generally can't render an encrypted workbook in the browser anyway, so encryption usually isn't the right protection for a published file.
.xls / .xlsb publish candidate
RejectedSave legacy .xls and binary .xlsb as .xlsx before auditing — and before publishing, since Excel for the web works best with .xlsx. Then run the audit on the converted file.
Macro that creates links on open
Not detected at audit timeA VBA-built reference doesn't exist as a static part for the scan at rest. Macros also won't run in Excel for the web the way they do on the desktop, so they're best removed for a published file — use the VBA Macro Stripper.
Clean, self-contained result
ExpectedWhen the report returns No external links found in this workbook., the file has no workbook references, no cell hyperlinks with targets, and no data connections — it will render in SharePoint/Teams without Update Links prompts or #REF!. Upload with confidence.
Frequently asked questions
Does SharePoint break external links automatically on upload?
No. SharePoint and Teams store the file byte-for-byte — they don't strip, update, or repair external references. Any link that breaks on your desktop will break for every viewer when the file renders from SharePoint. You have to make the file self-contained yourself before publishing; this auditor shows you exactly what to fix.
Can this tool remove the links so the file is SharePoint-ready?
No — it audits only. Removal is done in Excel: break workbook references (Data → Edit Links → Break Link), rewrite or remove internal hyperlinks, and delete data connections under Data → Queries & Connections. For a fully static publish, freeze live formulas with the Formula to Value converter, then re-audit to a clean result.
Why audit before uploading instead of just checking in SharePoint?
Because links that resolve on your desktop (local drives, mapped drives, on-network shares) won't warn you when you open the file locally — but they break in SharePoint's render context. The auditor reports every reference regardless of whether the source is currently reachable, so you catch the breakage before viewers do.
What about SharePoint links created within SharePoint itself?
A workbook can reference another file via its https://…sharepoint.com/… URL, and the audit reports that as external_ref with the full HTTPS target. Such cloud references can resolve for viewers who have permission to the source — verify the source file's sharing settings, or break the link to cached values if you'd rather not depend on live access.
Will data connections work after I publish to Teams?
Only if the source is reachable from the cloud render context. A data_connection to an on-prem database or a UNC file path won't refresh in Excel for the web — viewers get stale data or errors. The audit reports each connection string so you can decide whether to delete it or repoint it to a cloud source.
Can I publish first and break links later?
You can, but viewers will see Update Links prompts and #REF! until you do. Better to break links and re-audit to a clean No external links found in this workbook. result before uploading, so the very first viewer gets a clean file.
What does a clean audit guarantee for SharePoint viewers?
That the file has no external workbook references, no relationship-backed cell hyperlinks, and no data connections — so viewers won't get Update Links prompts or #REF! from external sources. It doesn't vet image-anchored hyperlinks or macro-built links, which won't behave the same in Excel for the web regardless.
Is my file uploaded to this tool to audit it?
No. It's unpacked and scanned in your browser with JSZip — nothing is sent to a server. So even a file destined for an internal SharePoint is never transmitted to this tool during the audit.
How do I find the cell behind a flagged link?
The report lists the target path, not the cell. Copy the path or file token (e.g. [rates.xlsx]) and use Excel's Ctrl+F across formulas, plus Formulas → Name Manager for external_ref references hiding in defined names. Then break or rewrite it and re-audit.
What file types can I audit before publishing?
.xlsx only. Legacy .xls and binary .xlsb aren't OOXML ZIP containers and are rejected — re-save as .xlsx (which is also the best format for Excel for the web), then audit.
How large a workbook can I check before publishing?
Pro accepts up to 50 MB (and 5 files); Developer up to 500 MB and unlimited files. If a publish candidate is oversized, it's often embedded media rather than data — run the Workbook Weight Analyzer to find and trim the bloat, then audit and publish.
Should I also strip macros and hidden sheets before publishing?
Usually yes. Macros don't run in Excel for the web the way they do on the desktop, and hidden sheets can carry data you don't intend to publish. Pair the audit with the VBA Macro Stripper and the Hidden Sheet Destroyer for a clean, self-contained published file.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.