I have been exporting records from one org and importing to another. For all objects, I created a custom text field set as an external id, called 'Other_Org_Id' and import the Salesforce record id from the source org into that field in the target org. When I then import say, Opportunities, I can map the Opp AccountId field to the 'Other_Org_Id' Account external Id field and I don't need to use Excel to get the new Account Ids in the target org.
There's more info on using external Ids when importing related records here.
This works great for most relationships, including the 'Owner' field. I created an'Other_Org_Id'external Id field on User object, imported the User records from the source org and I can use the User'Other_Org_Id'to map the 'Owner' field when importing Accounts, Contacts, Opportunities and so on.
When I came to import Leads though, 'Owner' wasn't in the list of fields that could be mapped to external Ids.The same thing happens if you try to import Cases.After some head scratching and trying other things, I figured it out.
It's because Leads and Cases can be owned by Queues as well as Users, and there is currently no way to add a custom external Id field to Queues, so an external Id field is not offered against Owner when importing Leads and Cases.
So it's back to vlookup in Excel to get the new User Ids for Leads and Cases.