It should be relatively easy to import this to Contacts, though I have not tested it thoroughly.
I assume that each row of your spreadsheet refers to a contact, and that columns match (say, for example, name is column A and email is column B, etc)
1) In Excel, save your excel file as CSV.
(File->Save As... then under File Format choose:

2) In Contacts, do File->Import... and select the csv file you just saved.
You will be asked what fields to assign to each entry.
For example, if your spreadsheet looks like this:

your import window will look like this:

Note that if you choose the header carefully it will be picked up automatically. For example, change "E-mail" to "Email" and it will be selected (instead of the default "do not import"). Of course you can have many more fields and entries.