Excel Salesforce Integration: 6 Ways to Connect, Refresh and Update Data (2026)

In this article
- There is no single Excel Salesforce integration. You pick a route by job: report export for a one-off file, Power Query (Get Data from Salesforce Objects or Reports) for a refreshable workbook, Data Import Wizard or Data Loader with CSV files to write data back, and an Excel add-in when users want to pull and update records from inside Excel.
- Power Query reads only. As of October 2026, Microsoft lists both Salesforce connectors for Excel for Windows in Microsoft 365 Apps for enterprise and Office 2016 and 2019 Professional Plus, and for Excel for the web, but not for Excel for Mac, and the Reports connector stops at 2,000 rows.
- Writing back from Excel means CSV loads (Data Import Wizard under 50,000 records, Data Loader up to 150 million with Bulk API 2.0), an add-in, Power Automate (the Salesforce connector is Premium) or a custom API integration.
- The real risks are stale copies, broken IDs and leaked data: refresh instead of re-exporting, key every row on the 18-character record ID, and limit who can export. The quiz below points you to a route.
Jump to
- What an Excel Salesforce integration should do
- Six ways to connect Excel and Salesforce
- How the data flows
- Set up a refreshable workbook with Power Query
- Update Salesforce from Excel with Data Loader
- Column mapping: Excel to Salesforce
- Refresh vs writeback
- Security and data volumes
- Pitfalls and how to fix them
- When custom integration makes sense
- Go-live checklist
- Where Gilzor fits
What an Excel Salesforce integration should do
People search for “Excel Salesforce integration” with three different jobs in mind. Mixing them up is how teams end up with ten versions of the same pipeline file.
- Get data out once. A list for a mailing, a snapshot for a meeting, a backup before a cleanup.
- Keep a workbook fresh. A forecast model, a commission sheet or a board report that should show today’s Salesforce numbers when someone clicks Refresh.
- Push changes back. Mass-update territories, fix phone formats, import a trade-show list, close out stale opportunities.
The first two are reads. The third is a write, and writes are where the damage happens. Decide which job you have before you pick a tool.
Six ways to connect Excel and Salesforce
The options come from three places: Salesforce itself (report export, Data Import Wizard, Data Loader), Microsoft (Power Query, Power Automate) and third parties (Excel add-ins). Custom code on the Salesforce APIs covers the rest.
| Route | Direction | Refresh | Volume | Cost level | Best for |
|---|---|---|---|---|---|
| Report export | Salesforce → Excel | None; a new file each time | Report export caps apply; Details Only CSV handles the most | Included | One-off lists and snapshots |
| Power Query (Objects or Reports) | Salesforce → Excel | On demand in Excel | Objects: whole tables; Reports: 2,000 rows | Included in supported Excel editions | Refreshable models and reports |
| Data Import Wizard | Excel (CSV) → Salesforce | Manual | Under 50,000 records | Included | Simple imports with duplicate matching |
| Data Loader | Both, via CSV | Manual or scheduled (command line, Windows) | Up to 150 million records with Bulk API 2.0 | Included in Enterprise and above | Mass updates, deletes, backups |
| Excel add-in | Both, inside Excel | On demand; some tools schedule | Depends on the tool | Per-user subscription, often with a free tier or trial | Admins and analysts who edit records in Excel |
| Power Automate or custom API | Both, automated | Event-driven or scheduled | API limits apply | Premium license or build cost | Repeatable flows with rules and no manual steps |
If your team works in Google Sheets rather than Excel, the Salesforce Google Sheets integration guide covers that side.
1. Export a report to Excel
The fastest route. Run a report, open the menu next to Edit, choose Export, and pick a view:
- Formatted Report keeps the report header, groupings and layout in an .xlsx file. Good for sharing a report as it looks.
- Details Only exports plain rows as .xlsx or .csv. According to Salesforce’s Trailhead, it drops formatting, groupings and subtotals, which is exactly what you want for pivot tables and lookups.
Formatted exports have row and column caps that are tightest for matrix reports, so use Details Only for anything large. Exporting is a user permission your admin can grant or withhold, and it should be withheld from most users (see security below). The file is dead the moment it lands: nothing refreshes.
2. Power Query: Get Data from Salesforce Objects or Reports
Excel’s Power Query has two Salesforce connectors, both generally available according to Microsoft Learn as of October 2026:
- Salesforce Objects loads whole objects (Account, Opportunity, custom objects) as tables, with an option to include relationship columns.
- Salesforce Reports loads the output of saved reports. Microsoft notes that Salesforce limits it to 2,000 rows, so for anything bigger, use Objects and rebuild the report in Power Query.
Availability is narrower than most people assume. Microsoft’s support table lists both connectors for Excel for the web and for Excel for Windows in two editions: Microsoft 365 Apps for enterprise and the Professional Plus editions of Office 2016 and 2019. They are not listed for Microsoft 365 Business, Home or Personal plans on Windows, or for Excel for Mac. Check your edition before you plan a rollout.
Power Query reads only. It is the right tool for a workbook that refreshes, not for updating Salesforce.
3. Data Import Wizard and Data Loader (CSV)
Both are Salesforce tools that load CSV files, so the Excel step is “Save As CSV.” According to Salesforce’s Data Loader Guide (Winter ’27):
- Data Import Wizard runs in Setup in the browser. Use it for fewer than 50,000 records, objects it supports, targets with fewer than 50 fields and simple mappings. It can prevent duplicates by matching account name and site, contact email or lead email.
- Data Loader is a desktop app for macOS and Windows (it needs Java 17 or later). It inserts, updates, upserts, deletes and exports any object, and handles up to 150 million records with Bulk API 2.0. It writes success and error files, and on Windows can run from the command line on a schedule. It is available in Enterprise, Performance, Unlimited and Developer editions, and the user needs the API Enabled permission.
4. Excel add-ins
Third-party add-ins put a Salesforce panel inside Excel: log in, pull records or reports with filters, edit cells, push changes back. XL-Connector from Xappex is a long-standing example, with a Windows desktop edition and an XL-Connector 365 edition for Mac, Windows and the web. Devart, CData and others sell similar tools.
Compare them on what you need: writeback and mass delete, scheduled refresh, Mac support, report and SOQL support, how they handle API limits, and the per-user price. Many are listed on AppExchange (now AgentExchange) or Microsoft Marketplace (formerly AppSource), so your security team can review the listing before anyone installs one.
5. Power Automate
Microsoft’s Salesforce connector for Power Automate can trigger a flow when a record is created or modified. It can also get, create, update and upsert records, run SOQL and run bulk jobs.
Pair it with the Excel Online (Business) connector, which works with files on OneDrive for Business and SharePoint, to keep a table in a shared workbook in step with Salesforce.
As of October 2026, Microsoft lists the Salesforce connector as Premium in Power Automate, so flows that use it need a premium Power Automate license. The Excel side has its own limits:
- files up to 25 MB;
- 256 rows per “List rows” call unless pagination is on;
- a file can stay locked for up to six minutes after the connector last used it.
That is fine for hundreds of rows a day, not for big syncs.
6. Custom integration on the Salesforce APIs
When the spreadsheet is really an input to a process (pricing files from finance, partner lead lists, inventory from a warehouse), code does it better. A small service picks up the file from SharePoint, OneDrive or an SFTP folder, validates it, and writes to Salesforce through the REST API, or Bulk API 2.0 for big loads. Salesforce’s Bulk API documentation suggests Bulk API 2.0 for operations with more than 2,000 records.
The Salesforce API integration guide covers the APIs in more depth, and the Salesforce data integration guide covers warehouses and ETL if Excel is really a stand-in for one.
Which option fits you?
Which Excel your users run matters as much as the job itself, because Power Query isn’t in every edition. Five questions cover both and suggest a route.
Which Excel Salesforce route fits?
How the data flows
Treat Salesforce as the system of record and every workbook as a read-only copy that refreshes. Changes go back only through a controlled load, keyed on record IDs, never by pasting edited cells into a form.
Set up a refreshable workbook with Power Query
Most reporting workbooks are built this way. The steps below cover the decisions; Microsoft Learn shows the connector screens, which move between Excel builds.
- Check your Excel editionExcel for Windows from Microsoft 365 Apps for enterprise or Office Professional Plus 2016 or 2019, or Excel for the web. If you don’t see Salesforce under Get Data, your edition probably doesn’t include it.
- Check the Salesforce sideYour user needs the API Enabled permission (trial orgs have no API access). Microsoft also notes that the session setting “Lock sessions to the IP address from which they originated” blocks the connector.
- ConnectOn the Data tab, open Get Data and choose Salesforce Objects. Pick Production, or Custom with your My Domain URL on salesforce.com; Microsoft notes Lightning URLs aren’t supported. Then sign in and allow access.
- Pick objects and fieldsSelect the objects in the Navigator and choose Transform Data, not Load. Remove every column you don’t need. Wide queries can fail with “too many fields,” and narrow ones refresh faster.
- Filter earlyFilter in Power Query (for example, open opportunities, this fiscal year) so only the rows you need come down. Merge Account into Opportunity on AccountId instead of pulling report output.
- Keep the ID columnKeep the 18-character record ID on every table. It is your join key and the key for any later update.
- Load and buildLoad to a table or the Data Model, then build PivotTables and formulas on top. Never type into the query table; edits disappear on refresh.
- Refresh and share safelyRefresh on demand, and decide where the file lives. Anyone who opens a saved workbook sees the data in it, whatever their Salesforce access.
Update Salesforce from Excel with Data Loader
For mass updates, the safe pattern is the same whatever the tool:
- Export with IDsExport the records you plan to change, including the Id column. This is also your backup.
- Build a change sheetKeep only Id and the fields you are changing. Every extra column is a field you might overwrite by accident.
- Fix Excel’s damageFormat ID, zip code and phone columns as text so Excel doesn’t strip leading zeros or turn values into dates or scientific notation. Use real picklist values and Salesforce date formats.
- Save as CSV, UTF-8Save as CSV UTF-8 and turn on Data Loader’s UTF-8 setting so accented names survive.
- Test in a sandboxRun the same file against a sandbox, and check what triggers, flows and validation rules did.
- Run in production and keep the logsRun the update, then read the error file, fix those rows and rerun only them. Store the success and error files with the backup.
Column mapping: Excel to Salesforce
Most failed loads come from a handful of column types. Map these deliberately.
| Excel column | Salesforce field | Direction | System of record and notes |
|---|---|---|---|
| Record ID (text) | Id | Salesforce → Excel; used as the key back | Salesforce. Use the 18-character ID: Salesforce documents the 15-character form as case-sensitive, and Excel lookups ignore case. |
| External ID (text) | Custom field marked External ID | Both | The source system. Lets you upsert without knowing Salesforce IDs. |
| Account name | Account lookup (AccountId) | Excel → Salesforce needs the ID | Salesforce. Names are not unique; look up the ID first or use an external ID. |
| Owner name or email | OwnerId | Excel → Salesforce needs the user ID | Salesforce. Inactive users fail; map to an active owner. |
| Stage, status, type | Picklist | Both | Salesforce. Values must match exactly, including spaces and case. |
| Close date, created date | Date or Date/Time | Both | Salesforce. Excel stores dates as numbers and shows them in local format; date/times are stored in UTC. |
| Amount, revenue | Currency or Number | Both | Salesforce. No currency symbols or thousands separators in the CSV. |
| Checkbox | Boolean | Both | Salesforce. Use TRUE and FALSE. |
| Formulas, pivots, notes | None | Stay in Excel | Excel. Calculated values belong in Salesforce formula or roll-up fields, not in loads. |
Built by Gilzor
Results we’ve shipped




Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.
Refresh vs writeback
A refresh replaces what Excel shows with what Salesforce holds. It is safe because Salesforce stays the truth. Writeback is the opposite: Excel becomes, for a moment, the source of truth for whatever columns you load. Treat it as a change to production.
- Refresh suits reporting, models and reconciliation. Problems are mild: a stale number, a slow query.
- Writeback suits planned changes: territory moves, cleanups, imports. Problems are serious: overwritten fields, triggered automations, emails sent to customers, records you can’t easily restore.
Keep the two apart. A workbook that refreshes from Salesforce should not also be the file you load back. Build a separate change sheet with only IDs and changed fields.
Security and data volumes
Every Excel copy of Salesforce data sits outside Salesforce sharing rules, field-level security and audit trail. A pipeline file emailed to a partner is a data leak with good intentions.
- Limit export. Grant report export only to roles that need it, and review who has API Enabled, because API access is what Power Query, add-ins and Data Loader use.
- Store files in governed places such as SharePoint or OneDrive with access controls, not desktops and inboxes. The Salesforce SharePoint integration guide covers linking documents to records.
- Use a dedicated user for automation. Scheduled Data Loader jobs, flows and custom services should run as an integration user with only the permissions they need, not as an admin’s login. A limited number of Salesforce Integration user licenses come free with supported editions; the Salesforce integration user guide explains the setup.
- Leave sensitive fields out of queries and exports: personal data, health or financial fields, internal notes.
On volume, three limits matter:
- An Excel worksheet holds 1,048,576 rows, according to Microsoft.
- The Power Query Reports connector stops at 2,000 rows.
- Every API-based route (Power Query, add-ins, Data Loader, flows) draws on your org’s shared daily API allocation.
Salesforce’s limits reference gives the example of an Enterprise Edition org with 15 Salesforce licenses getting 115,000 requests per 24 hours, shared by every integration. A dozen analysts refreshing wide workbooks every few minutes can eat into it.
Pitfalls and how to fix them
| Problem | What happens | Fix |
|---|---|---|
| Wrong record updated | A lookup on 15-character IDs matches the wrong row, because Excel ignores case | Always use 18-character IDs; join in Power Query or Data Loader, not with case-blind lookups |
| Leading zeros and long numbers lost | Zip codes, phone numbers and account numbers turn into numbers, dates or scientific notation | Format those columns as text before pasting; check the CSV in a text editor before loading |
| Duplicates on import | Inserting a list creates second copies of existing contacts and accounts | Match first: Import Wizard duplicate matching, upsert on an external ID, or duplicate rules in Salesforce |
| Blank cells wipe data | A load with empty cells clears fields, depending on the tool’s null settings | Load only changed columns; check the tool’s setting for blank values before running |
| Automations fire | A mass update triggers flows, assignment rules or customer emails | Test in a sandbox; coordinate with the admin to pause or bypass automations for the load |
| Report connector truncates | A refreshed report shows exactly 2,000 rows and looks complete | Use the Salesforce Objects connector and rebuild the logic in Power Query |
| Stale copies everywhere | Ten exported versions of the pipeline with different numbers | One refreshable workbook in a shared location; ban emailed exports for recurring reports |
| Connection runs as a person | A scheduled job or flow stops when an admin leaves or changes password | Run automation as a dedicated integration user and document it |
When custom integration makes sense
Excel is a great working tool and a poor integration layer. Move to Power Automate or a custom build when:
- The same file is loaded every day or week, by hand, with the same mapping.
- The data comes from another system (ERP, billing, a partner portal) and Excel is just the carrier. Connect the systems directly; the Salesforce integration guide covers the patterns.
- Loads need validation, approvals or an audit trail that a person with a CSV can’t provide.
- Volumes or frequency start to strain API limits or add-in licensing.
A typical build is small. Files arrive in a watched folder or through an upload page, and a service validates and maps the rows. It writes with Bulk API 2.0 or the REST API, sends an error report back to the sender and alerts on failures.
The figures are taken from our API integration cost guide. Use it to judge where a file-based build with validation and error reports would land.
Go-live checklist
Before a workbook or a recurring load goes to the whole team, check off what is in place. Unchecked items are where Excel files usually leak data or overwrite records.
Excel Salesforce go-live
FAQ
Can I connect Excel directly to Salesforce?
How do I export a Salesforce report to Excel?
Why does my Salesforce report stop at 2,000 rows in Excel?
Can I update Salesforce records from Excel?
Data Loader or Data Import Wizard: which one should I use?
Does Power Query work with Salesforce in Excel for Mac?
Where Gilzor fits
If your team trades Excel files with Salesforce every week, the first step is an honest look at which of those exchanges should stay manual. Building and maintaining Salesforce integrations is part of what Gilzor does as a software development company; our engineers work from Poland and Cyprus. We can review how the two exchange data today and set up refreshable workbooks or safe load processes.
Where a spreadsheet load keeps coming back, we replace it with a Power Automate flow or a custom integration on the Salesforce APIs, and support it after launch. The Salesforce integration services page covers how we scope it.
No sales pitch
Get a straight answer for your project
Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

CTO of Gilzor. Responsible for architecture and the engineering standards our teams work by.
LinkedIn →Gilzor · Web Development partner
Need a team for your web product?
Services
Web DevelopmentCustom websites and web apps — front-end, back-end, launch and support.→By company type
Selected projects






The team behind them





