What Most People Miss About Power BI and Excel Integration

It's 4:47 PM on Friday. Your manager just asked for a consolidated report by 5. You have 12 spreadsheets open — three from finance, four regional sales files, two legacy exports from an old CRM — and one Power BI file named Q3_Sales_Dashboard.pbix that hasn’t refreshed since Tuesday.

You try clicking Refresh in Power BI. It stalls. Then errors: 'Data source credentials couldn't be verified.' You check Excel. The pivot table on Sheet2 pulls from Sheet1!A1:E120, but someone renamed Column D from "Revenue" to "Rev (USD)" yesterday. You panic. You’re not alone.

The Setup

You’re working with this dataset — pulled weekly from Excel into Power BI:

RegionSales RepProductRevenueDate
North AmericaSarah ChenCloudGuard Pro$45,2002024-03-15
EMEAJames OkoyeCloudGuard Pro€32,8502024-03-14
APACYuki TanakaDataShield Basic¥4,210,0002024-03-16
North AmericaSarah ChenDataShield Basic$18,9002024-03-15
EMEALena PetrovaCloudGuard Pro€29,1002024-03-13
APACRajiv MehtaCloudGuard Pro₹2,760,0002024-03-14
North AmericaMichael TorresDataShield Basic$21,3502024-03-16
EMEAJames OkoyeDataShield Basic€16,4002024-03-15
APACYuki TanakaCloudGuard Pro¥3,890,0002024-03-13
North AmericaMichael TorresCloudGuard Pro$52,1002024-03-14

This is your raw Sales_Raw.xlsx, saved locally at C:\Reports\Sales_Raw.xlsx. Tab name: RawData. Data starts at A1. No headers are missing. No blank rows. But — and this matters — the file is *not* in OneDrive or SharePoint.

The Challenge

You need Power BI to pull live updates from this Excel file. Not a static snapshot. Not copy-paste. Live. And you need the Revenue column converted to USD consistently — not €, ¥, or ₹ — before any visualizations load.

Most people assume: 'Just import the Excel file into Power BI → done.' Wrong.

Power BI doesn’t read Excel like Excel reads Excel. It uses the Microsoft Access Database Engine (ACE.OLEDB) under the hood. That engine has hard limits: no dynamic array formulas, no XLOOKUP across closed workbooks, no volatile functions like TODAY() or INDIRECT() in the source range. If your Excel file uses any of those, Power BI will fail silently or return #VALUE! in the preview.

Also: if the Excel file is open while Power BI tries to refresh, ACE.OLEDB locks it. Refresh fails. Every time.

Walking Through It

Do this — in order. No skipping.

Step 1: Prepare the Excel file

Open Sales_Raw.xlsx. Go to RawData tab. Select A1:E11. Press Ctrl+T. Confirm 'My table has headers'. Name the table tblSales in the Formula Bar (not just the name box).

Step 2: Remove all formatting that isn’t data

No merged cells. No icons. No conditional formatting on columns used in Power BI. Delete row 12 if it contains totals. Power BI imports *all* visible rows — including footers.

Step 3: Fix currency conversion inside Excel — not Power BI

Add column F: =XLOOKUP(E2,{"USD","EUR","JPY","INR"},{1,1.08,151.2,83.4},"N/A"). Call it USD_Rate. Then column G: =IF(F2="N/A",0,IF(ISNUMBER(SEARCH("€",D2)),SUBSTITUTE(D2,"€","")*F2,IF(ISNUMBER(SEARCH("¥",D2)),SUBSTITUTE(D2,"¥","")*F2,IF(ISNUMBER(SEARCH("₹",D2)),SUBSTITUTE(D2,"₹","")*F2,VALUE(D2))))).

Yes — messy. But Power BI can’t parse currency symbols reliably during import. Do it in Excel first.

Step 4: Save as .xlsx — NOT .xlsb or .csv

Power BI supports .xlsx natively. .xlsb? Only if you install the Microsoft Access Database Engine manually. Don’t. Just save as .xlsx.

Step 5: In Power BI Desktop, use Get Data → Excel → Browse

Select the file. In Navigator, select tblSales — not the worksheet name. Click Load (not Transform). Why? Because if you click Transform, Power Query will auto-detect types — and misread "€32,850" as text. Let Power BI load raw, then fix types in Power Query Editor.

Now go to Power Query Editor. Select column Revenue. Right-click → Change Type → Decimal Number. It’ll error on non-numeric entries. That’s expected. Click Replace Errors → enter 0.

Repeat for USD_Converted (your new column G). Set type to Decimal.

Then go to Home → Close & Apply.

Before:

Revenue (raw)Currency
$45,200USD
€32,850EUR
¥4,210,000JPY

After:

Revenue_USDRegion
45200.00North America
35478.00EMEA
27839.00APAC

The Result

Your final loaded table in Power BI — clean, typed, ready for visuals:

RegionSales RepProductRevenue_USDDate
North AmericaSarah ChenCloudGuard Pro45200.002024-03-15
EMEAJames OkoyeCloudGuard Pro35478.002024-03-14
APACYuki TanakaDataShield Basic27839.002024-03-16
North AmericaSarah ChenDataShield Basic18900.002024-03-15
EMEALena PetrovaCloudGuard Pro31428.002024-03-13
APACRajiv MehtaCloudGuard Pro33105.002024-03-14
North AmericaMichael TorresDataShield Basic21350.002024-03-16
EMEAJames OkoyeDataShield Basic17712.002024-03-15
APACYuki TanakaCloudGuard Pro25721.002024-03-13
North AmericaMichael TorresCloudGuard Pro52100.002024-03-14

What Could Go Wrong

Mistake #1: Using Excel Tables with calculated columns referencing other sheets
Power BI imports only the active sheet’s table — not dependencies. If tblSales[Revenue_USD] references Sheet2!A1:A10, Power BI won’t resolve it. It loads blank or error. Fix: move all logic into the same sheet or use Power Query instead.

Mistake #2: Saving Excel to OneDrive but using local file path in Power BI
You synced Sales_Raw.xlsx to OneDrive, but Power BI still points to C:\Reports\.... Refresh fails with 'File not found'. Do this: In Power BI, go to File → Options and settings → Data source settings. Select the Excel source → Change Source → paste the OneDrive web URL (starts with https://d.docs.live.net/...). Then click Edit Permissions → sign in with your org account.

Mistake #3: Forgetting to close Excel before scheduled refresh
You set up a daily 7 AM refresh in Power BI Service. But your laptop is on, Excel is open, and the file is locked. Power BI returns 'Unable to connect to file'. There’s no warning. No email. Just stale data. Solution: Use Windows Task Scheduler to close Excel at 6:55 AM. Or — better — stop editing the source file after 5 PM. Use a separate 'working copy'.

Next step — do this now:

ActionShortcut / PathWhy It Matters
Name your Excel data as a TableCtrl+TPower BI reads tables faster and respects structural changes
Check for open Excel instances before refreshTask Manager → Processes → excel.exePrevents silent lock failures
Use OneDrive/SharePoint links in Power BI ServiceFile → Options → Data source settings → Change SourceEnables cloud refresh without local file access
Convert currencies in Excel — not Power QueryAdd helper column before importAvoids parsing errors on symbol-heavy strings
Tom Bradley

Tom Bradley

Tom has 15 years of experience in office management and supply chain optimization. He shares practical tips for running efficient workplaces.