Most people treat Excel-to-Sheets conversion like a file transfer: drag, drop, done. They’re wrong. Google Sheets doesn’t read Excel files — it reconstructs them from scratch using a reverse-engineered parser that ignores half the workbook’s DNA. That’s why your $84,500 forecast in Sheet1 looks fine at first glance… until you scroll to row 12,743 and find merged cells collapsed into #REF! errors.
Quick Answer
Yes — Google Sheets can open Excel files (.xlsx, .xls, .xlsm), but only as static imports or converted copies. It never executes Excel logic (no macros, no volatile functions recalculating on edit), and loses embedded objects, custom themes, conditional formatting rules with relative references, and any formula referencing external workbooks. What you see is a snapshot — not a live bridge.
All the Methods
| Method | Steps | Best For | Limitations |
|---|---|---|---|
| Upload & Convert | Drag .xlsx into Sheets → click "Convert" | One-time review of simple reports | Drops macros, dynamic arrays, Excel tables (converted to ranges) |
| ImportRange + Excel Online | Publish Excel to OneDrive → use IMPORTRANGE with shared link | Live updates from Excel Online (not desktop) | Only works with Excel Online, requires manual refresh, max 50 calls/day |
| Google Workspace Add-on: Excel Importer | Install add-on → File > Import Excel → select sheet/range | Preserving named ranges & basic formatting | Paid tier required for >10 sheets; fails on nested IFs with >7 levels |
| Power Query → CSV → Sheets | In Excel: Data > Get Data > To CSV → upload CSV to Sheets | Large datasets (>100k rows) with clean structure | Loses formulas entirely — only values survive |
Method 1 Deep Dive
The most common method — uploading an Excel file directly into Google Drive and opening it with Sheets — seems effortless. But here’s what actually happens behind the scenes: Sheets parses the XML inside the .xlsx container, reconstructs cell values and basic formatting, then discards anything it can’t map 1:1 to its own engine. Let’s test it with real data.
Take this sales report saved as Q3_Sales_Forecast.xlsx:
| A | B | C | D |
|---|---|---|---|
| Date | Rep | Region | Forecast |
| 2024-03-15 | Sarah Chen | APAC | $45,200 |
| 2024-03-22 | Marcus Lee | EMEA | $61,850 |
| 2024-03-29 | Aisha Rahman | Americas | $52,100 |
| 2024-04-05 | Diego Mendoza | APAC | $39,400 |
If column D uses Excel’s custom format _($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_) , Sheets strips it and defaults to plain number formatting. Worse: if A1 contains =TEXT(TODAY(),"dddd, mmmm dd"), Sheets converts it to static text — no auto-update. The beauty of this approach is speed. The trap? Assuming fidelity.
Pro tip: Before uploading, press Alt + H + O + I in Excel to auto-fit all columns. Sheets won’t do this automatically — and narrow columns cause text overflow that looks like data corruption.
Method 2 Deep Dive
For live sync, skip direct upload. Instead, host the Excel file in OneDrive (not local disk), enable sharing, then use IMPORTRANGE — but not how you’d expect. You need Excel Online’s published embed link, not the raw OneDrive URL.
Here’s the exact sequence:
| Step | Action | Result | Shortcut |
|---|---|---|---|
| 1 | Open Excel file in Excel Online → File > Share > Embed | Generates iframe code with src="https://onedrive.live.com/embed?... | — |
| 2 | Extract the resid parameter value from that URL |
e.g., resid=9A2F3C1E7B8D4A2F!101 |
Ctrl+F in address bar |
| 3 | In Sheets: =IMPORTRANGE("https://onedrive.live.com/...resid="&A1&"", "Sheet1!A1:D10") |
Pulls live values — but only if Excel Online file is open and editing enabled | Alt+E+R to open ImportRange dialog |
This method keeps formulas intact *inside Excel Online*, but Sheets sees only their output. So if B2 contains =IF(C2="APAC",D2*1.08,D2), Sheets gets the $48,816 result — not the logic. What makes this elegant is version awareness: changes in Excel Online reflect in Sheets within ~90 seconds, no manual refresh needed. Just don’t expect it to handle Excel’s XLOOKUP array spills — Sheets truncates those to single-cell returns.
Cheat Sheet
| Scenario | Best Method | Key Shortcut / Step | What Breaks |
|---|---|---|---|
| Static budget review | Upload & Convert | Drag .xlsx onto drive.google.com | Custom number formats, data validation lists |
| Live sales dashboard | IMPORTRANGE + Excel Online | Extract resid from embed URL |
Array formulas, charts, slicers |
| 12-sheet financial model | Excel Importer add-on | File > Import Excel > Select tabs | Macros, password protection, external links |
| Raw transaction dump (217k rows) | Power Query → CSV → Sheets | Data > Get Data > From File > Export to CSV | All formulas, hyperlinks, comments |