How to Connect to & Open Salesforce Data in Microsoft Excel
The CData ODBC driver for Salesforce uses the standard ODBC interface to link Salesforce data with applications like Microsoft Access and Excel. Follow the steps below to use Microsoft Query to import Salesforce data into a spreadsheet and provide values to a parameterized query from cells in a spreadsheet.
About Salesforce Data Integration
Accessing and integrating live data from Salesforce has never been easier with CData. Customers rely on CData connectivity to:
- Access to custom entities and fields means Salesforce users get access to all of Salesforce.
- Create atomic and batch update operations.
- Read, write, update, and delete their Salesforce data.
- Leverage the latest Salesforce features and functionalities with support for SOAP API versions 30.0.
- See improved performance based on SOQL support to push complex queries down to Salesforce servers.
- Use SQL stored procedures to perform actions like creating, retrieving, aborting, and deleting jobs, uploading and downloading attachments and documents, and more.
Users frequently integrate Salesforce data with:
- other ERPs, marketing automation, HCMs, and more.
- preferred data tools like Power BI, Tableau, Looker, and more.
- databases and data warehouses.
For more information on how CData solutions work with Salesforce, check out our Salesforce integration page.
Getting Started
If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.
There are several authentication methods available for connecting to Salesforce: OAuth, Login (or basic), and SSO. The Login method requires you to have the username, password, and security token of the user.
OAuth Authentication (default)
The default authentication mechanism (and the one preferred by Salesforce) is OAuth. To use OAuth with CData's embedded OAuth application, leave the connection properties blank. If you have configured your own custom OAuth application with Salesforce (see the Help documentation for more information), set OAuthClientId, OAuthClientSecret, and CallbackURL to the properties for you application. Set InitiateOAuth to the desired OAuth flow ("GETANDREFRESH" will have the connector manage the entire OAuth flow).
Login (or Basic) Authentication
If you do not wish do not wish to use OAuth authentication, you can use Login (or basic) authentication. Set AuthScheme to Basic, and set the User, Password, and SecurityToken properties. You can configure your security token in Salesforce.
SSO (single sign-on) Authentication
SSO (single sign-on) can be used by setting the SSOProperties, SSOLoginUrl, and SSOExchangeURL connection properties, which allow you to authenticate to an identity provider. See the "Getting Started" chapter in the Help documentation for more information.
Multi-Factor Authentication (MFA)
If your Salesforce org has MFA enforcement enabled, set MFACode to the time-based one-time passcode (TOTP) generated by your authenticator app (such as Salesforce Authenticator or Google Authenticator). MFACode applies to both OAuth and Login authentication flows.
You can then work with live Salesforce data in Excel.
NOTE: In recent versions of Excel, Microsoft Query is not visible by default. To enable visibility, Navigate to Options > Data and check From Microsoft Query (Legacy) under the Show legacy data import wizards section.
- In Excel, open the Data tab and choose Get Data -> Legacy Wizards -> From Microsoft Query (Legacy).
- Choose the Salesforce DSN. Select the option to use Query Wizard to create/edit queries.
- In the Query Wizard, expand the node for the table you would like to import into your spreadsheet. Select the columns you want to import and click the arrow to add them to your query. Alternatively, select the table name to add all columns for that table.
- The Filter Data page allows you to specify criteria. For example, you can limit results by setting a date range.
- If you want to use parameters in your query, select the option to edit the query in Microsoft Query.
To set a parameter in the query, you will need to modify the SQL statement directly. To do this, click the SQL button in the Query Editor. If you set filter criteria earlier, you should have a WHERE clause already in the query.
To use a parameter, use a "?" character as the wildcard character for a field's value in the WHERE clause. For example, if you are importing the Account, you can set "Name=?".
- Close the SQL dialog when you are finished editing the SQL statement. You will be prompted to enter a parameter value. In the next step, you will select a cell to provide this value. So, leave the box in the dialog blank.
-
Click File -> Return Data to Microsoft Excel. The Import Data dialog is displayed. Enter a cell where results should be imported.
- Close the Import Data dialog. You will be prompted to enter a parameter value. Click the button next to the parameter box to select a cell. Select the option to automatically refresh the spreadsheet when the value changes.