Trailhead has a good overview of the standard import options available. https://developer.salesforce.com/trailhead/force_com_introduction/data_management/data_import. Also, coming in Spring '15 is pre-defined imports for common systems such as Outlook and other CRM systems.
Use Dataloader.io or Jitterbit cloud data loader
Make your column names exactly the same as the API Field Names in Salesforce, that way you can Auto Map the file and it is much quicker.
See Data Loader and the DateTime/Timestamp data type | Cloud Clod.
For Australian use - set the format of the date in Excel to be
yyyy-MM-dd"T"HH:mm:ss"+10:00"
In Dataloader.io set regular dates to be MM/dd/yyyy
and System Dates to be MM/dd/yyyy"T"HH:mm:ss.000"GMT+10:00"
or if your dates are in dd/MM/yyyy then set the format to be dd/MM/yyyy"T"HH:mm:ss.000"GMT+10:00"
For reference, Date Formats in SOQL https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_dateformats.htm
When importing child records you can sometimes come unstuck with errors "unable to obtain exclusive access to this record". This is because the roll-up-summaries are doing their rolling up when you are trying to add a new child record that belongs to the same parent record (I think).
In Jitterbit set:
That seemed to work for me.
Start with about 20 records to see how your data is.
Next jump up to about 200 records.
Then jump up to 1000 records.
I would not go much more than 1000 records at a time, but it depends on how many 1000's of records you are importing.
Nice URL hack to monitor the jobs
https://instancename.salesforce.com/750?setupid=AsyncApiJobStatus&retURL=%2Fui%2Fsetup%2FSetup%3Fsetupid%3DMonitoring |