Welcome to version two of Data Import++, an XRMToolBox tool to help you easily import data from Excel to Dynamics 365.
Check out the improvements below:
Table of Contents
What is Data Import++
Data Import++ is an XRMToolbox tool that provides an easy way to import data from Excel into Dynamics. It helped fix some of the issues with other tools, like:
- The built in Excel importer requires rows to be in the exported format, can’t handle lookups well and is time-consuming to work with.
- Cloud systems like Synapse or Fabric import data quickly, but take a long time to set up. Option set labels need to be replaced with values and lookups need to be replaced with the record GUIDs.
- Manually entering records can take ages and is prone to human error
Data Import++ helped to resolve some of those issues, but it hadn’t been updated since 2020 and was lacking some important features like the ability to save data maps.
As a regular user, I kept thinking of ways I could improve it.
I reached out to the creator, Joseph Merhej, and asked if I could take on ownership of the app and open source the code. He very generously agreed, and so a few months later, here I am announcing the first update to Data Import++ in the last four years.
So what new features does it have? Check them out.
Or if this is the first time you’re hearing about Data Import++, read on.
Get started: Import data from Excel to Dynamics
If you want to use Data Import++, install XRMToolbox and then download it from the XRMToolbox Plugin Library – it’s free and so is XRMToolbox!
Instructions appear to help you learn how to load a file when you open the app, and you can check out the original instructions (from version 1) here.
New features
There’s a lot! Here’s a incomplete list:
1. Data map saving and loading
You can now save and load data maps. This means you can spend less time importing the same file over and over.
Instead of having to ensure that every single column and setting matches each time, just map it once, save the data map and load it whenever you want to import it again. You can also use this to import the same data to multiple environments, without needing to manually redo the mapping.
2. Better logging
Logs now also get produced in a table format with one row for each row in your import file. This makes it easier to work out which rows have failed and why. It also splits out information to make it more readable so you can see at a glance what kind of update occurred and the GUID of the record.
3. Import row selection
I regularly wanted to test my import on just the first few rows before running it on the remainder. Now I can!
Select only the rows that you want to import and import them. If all looks good, you can update the number of rows and do the rest.
4. Data entry speed improvement
Previously, you had to select the process fields button to show the fields to map a lookup or an option set. Now when you map a field to one of those types, it automatically shows those fields so you can use them.
This makes it faster to map a file for import.
5. UI improvements
Honestly this is my first C# app so using Visual Studio Design was a new experience. I changed the layout of the app from being SplitContainer based to a Table, which made it way more responsive to size changes, easier to work with and fixed some issues with the size of option sets.
6. Bug fixes
I also fixed a number of bugs:
- Changed the default option to “Keep data on CRM” when importing a blank field
- Added the ability to clear fields after mapping them
- Fixed an issue where incorrect option set choice caused the app to fail
However, I’m sure there are plenty more bugs remaining. If you spot any, please check out Future development to see how you can help fix it.
Future development
I’m keen to keep working on this and to get other developers contributing too.
However, my time is limited and so is my ability to implement improvements, fix bugs and respond to requests.
If you want to help with the further development of this app, here are a few ways you can help out:
- Buy me a coffee or send a donation to say thanks!
- Contribute to the codebase by opening a pull request. Check out Developing.md to get started.
- Raise an issue to suggest an idea or flag a bug.