It's not clear what version of SharePoint this is for, but I have a very in depth answer here for 2010. Basically, you have to do the following:
- Create a Datasheet View with the columns you want to load (and filter/sort by rows if updating existing data; BE CAREFUL!)
- Create corresponding Excel sheet (column names don't matter, only order).
- Format data in Excel, and load writable data into the view you prepared in Step 1. The trickiest column types to load are
Person or Group and
- Copy/Paste the relevant formatted rows from Excel to the Datasheet View.
I have loaded over 5,000 records before, though this did take a few minutes to fully populate about a dozen fields, so you may have to exercise a bit of patience. :)
As for the CodePlex answers provided by others, CodePlex will be shutdown at the end of this year, but these are not necessary anyway. My solution works well. Please view my full answer on my other question for much more detail.
Import/Copy/Paste Data from Excel into Existing SharePoint List