Export Salesforce Data to Excel: Get All Fields Without Data Loader
Your manager needs a pipeline report by end of day. You click "Export" in Salesforce, download the file, and... half your columns are missing. The deal amounts show as "$0" even though you know they're populated. Contact information is just "[object Object]".
This happens because Salesforce's native export has limitations. Reports only export visible columns (maximum 2,000 rows), and nested relationships break. Here's how to get around it.
Why Salesforce Exports Are Problematic
Salesforce stores data relationally. An Opportunity has:
- An Account (company name, industry, size)
- A Contact (decision maker info)
- Custom fields specific to your business
- Related records (activities, notes, competitors)
When you export a report, Salesforce flattens this into CSV. But it does it poorly:
What happens to nested data:
- Account fields → sometimes empty, sometimes generic IDs
- Contact relationships → usually lost entirely
- Custom lookup fields → show IDs like
003D000001234567instead of names - Multi-select picklists → comma-separated text that Excel can't pivot
Row limits:
- Reports: 2,000 rows max
- List views: varies by view type
- Standard CSV export: depends on your Salesforce edition
Method 1: Using Salesforce Reports (Quick but Limited)
If you only need a specific subset of data:
- Create or open a report
- Add ALL the columns you need (don't assume hidden columns export)
- Click Run Report
- Click Export → Details Only → Excel Format (.xlsx)
Limitations:
- Can only export what's in the report (2,000 rows)
- No way to get ALL fields from an object
- Relationships might not export correctly
When to use: Quick ad-hoc reports for executives
Method 2: Data Export Service (For Complete Backups)
Salesforce's built-in backup tool:
- Go to Setup → Search "Data Export"
- Click Export Now or Schedule Export
- Select objects (Accounts, Contacts, Opportunities, etc.)
- Wait for email with download link
What you get:
- ZIP file with CSV for each object
- ALL records (no row limits)
- ALL fields (including hidden ones)
Problems:
- Data is split across multiple files
- Relationships are stored as IDs, not readable names
- You need to manually join files in Excel (VLOOKUP nightmare)
- Can only run weekly (not on-demand for most accounts)
When to use: Monthly backups, regulatory compliance exports
Method 3: Data Loader (The "Official" Way)
Salesforce's desktop application for bulk operations:
Installation:
- Download from Salesforce Setup → Data Loader
- Install on Windows/Mac
- Log in with your credentials
Export process:
- Click Export
- Select object (e.g., "Opportunity")
- Browse to save location
- Click Next → Finish
You'll get a CSV with all records and fields.
The catch:
- Requires "Modify All Data" permission (most analysts don't have this)
- Desktop app only (no web version)
- Still gives you IDs instead of names for lookups
- Learning curve for SOQL queries
Method 4: Third-Party Tools (The Expensive Way)
- XL-Connector: $50/user/month
- Enabler4Excel: $40/user/month
- CData Connect: $99/month
These work well but add up quickly if multiple team members need access.
The Actual Solution: Export Reports, Then Convert Properly
Here's what works for 90% of use cases:
Step 1: Export from Salesforce
Use whichever method gets you the data (Reports or Data Export Service). You'll get files with:
- IDs instead of names (
001D234567instead of "Acme Corp") - Nested JSON in some fields
- Relationships stored as text
Step 2: Convert to Usable Excel
This is where most exports fail. The CSV opens in Excel showing:
AccountId: 001D000001234567
Owner: {"Id":"005D000001234567","Name":"John Smith"}
Use JsonExport to fix this:
- Upload your Salesforce CSV
- The tool detects JSON-encoded fields automatically
- It flattens nested objects:
Owner.Namebecomes a column with "John Smith"Account.Industryshows "Technology" not an ID
- Download the clean Excel file
Step 3: Join Data (If You Used Data Export)
If you exported multiple objects (Accounts + Opportunities), you now have clean files you can join:
In Excel:
=VLOOKUP([@AccountId], Accounts!A:Z, 2, FALSE)
Or use Power Query → Merge Queries for a cleaner join.
Real-World Example: Pipeline Analysis
Goal: Show all open opportunities with account details and owner names.
Salesforce Report Attempt:
- Can show opportunities
- Can show some account fields (name, industry)
- Owner shows as an ID
- Custom fields are missing
Better approach:
-
Standard report export:
- Run "All Opportunities" report
- Add every column you might need
- Export → Excel
-
Convert with JsonExport:
- Handles the encoded owner data
- Extracts account relationships properly
- Flattens custom objects
-
Result:
- One Excel file with 50+ columns
- All data is readable (no IDs)
- Ready for pivot tables and analysis
Handling Specific Salesforce Data Types
Multi-Select Picklists
Salesforce exports these as:
Industry__c: "Healthcare;Technology;Finance"
In Excel, use Text to Columns:
- Select column
- Data → Text to Columns
- Delimiter: semicolon
- Finish
Now each value is in its own column: Industry_1, Industry_2, etc.
Date/Time Fields
Salesforce date fields export in ISO format:
CreatedDate: 2024-01-15T14:30:00.000Z
Excel usually recognizes this. If not:
=DATEVALUE(LEFT(A2,10))
Rich Text Fields
HTML tags might appear:
Description: <p>This is a <strong>test</strong></p>
Excel shows this as-is. To strip HTML:
- Use Find & Replace:
<*>→ `` (blank) - Or just filter out in your analysis
Lookup Relationships
Standard Salesforce export:
AccountId: 001D000001234567
After JsonExport conversion:
Account.Name: Acme Corporation
Account.Industry: Technology
Account.Owner.Name: Sarah Johnson
Much more useful.
Automating Weekly Reports
If you export the same data every Monday:
Option 1: Schedule Data Export
- Setup → Data Export → Schedule Export
- Pick weekly frequency
- Salesforce emails you the files
Option 2: Save Report Views
- Create a report with all the columns you need
- Save it with a descriptive name: "Weekly Pipeline - Export Template"
- Every Monday: Open report → Run → Export
Then use the same JsonExport conversion process each time.
Common Errors and Fixes
"Insufficient Privileges"
You don't have permission to export all fields.
Fix: Ask your Salesforce admin for:
- "View All Data" (read-only, safer)
- OR specific object permissions
"Too Many Records"
Hit the 2,000 row report limit.
Fix:
- Add date filters (e.g., "Created This Year")
- Export in batches (Q1, Q2, Q3, Q4)
- Use Data Export Service for full dumps
"File is Too Large"
Exported 100,000 records, Excel chokes.
Fix:
- Filter to only needed records
- Export by date range
- Use Excel's Power Query to load without crashing
"Columns Don't Match"
Fields shuffle around between exports.
Fix:
- Always use the same report template
- Or map columns in Excel before analysis:
=MATCH("Opportunity Name", ReportSheet!1:1, 0)
Data Privacy Considerations
Salesforce has customer data. Exporting to your laptop creates compliance risks.
JsonExport processes everything client-side:
- Data never uploads to a server
- Conversion happens in your browser
- No data retention, no security risk
Unlike cloud tools (Coupler.io, Skyvia), there's no "man in the middle" getting your customer list.
Advanced: Combining Salesforce with Other Data
Once you have clean Salesforce exports, combine with:
Google Analytics: Match account names to traffic sources
HubSpot: Compare marketing touches to closed deals
Stripe: Reconcile actual revenue vs forecast
All in Excel using VLOOKUP or Power Query joins.
Conclusion
Salesforce exports don't have to be painful. The native tools work—they just need help formatting the output.
Quick checklist:
- Export from Salesforce (Reports or Data Export)
- Convert nested/encoded fields to flat columns
- Join multiple objects if needed
- Analyze in Excel with pivot tables
No SOQL. No Data Loader permissions drama. No monthly SaaS fees.
Try JsonExport Now - Upload your Salesforce CSV and get clean Excel data.
Related Guides:
Tools:
Frequently Asked Questions
How do I export more than 2,000 rows from Salesforce to Excel?
The standard Salesforce report export is limited to 2,000 rows. To export more, you have two options:
- Use the "Data Export" service in Setup to get a full CSV dump (only available weekly or monthly).
- Use a third-party tool like Data Loader.
- For a quick fix without installing software, try filtering your report by date ranges (e.g., "Created Date = This Quarter") to break the data into smaller chunks.
Why does my Salesforce export show IDs instead of names?
Salesforce exports raw data, so lookup fields like OwnerId or AccountId export as 15-character ID strings (e.g., 0015f00000J7abc). To get the actual names, you usually need to create a custom Report Type that joins the related object and includes the "Name" field. Alternatively, tools like JsonExport can sometimes resolve these references if the data is included in the nested JSON structure.
Can I automate Salesforce to Excel exports?
Yes, but not easily with native tools. You can "Subscribe" to a report to get it emailed, but it usually arrives as an HTML table or image, not a clean Excel file. For true automation, you typically need to use the Salesforce API, a Python script, or a connector tool like Zapier or Coupler.io.