Have you considered using OPENROWSET?
'Excel 12.0 Xml;Database=C:\put full path to your excel file her\put name of your excel file here .xlsm;HDR=YES;', this bit imports any headers ie column headings
'SELECT * FROM [Sheet1$]' ) as tmpData1
You might find it useful. It will create a new table, in this case tmpData1. From there it is quite straight forward to then create a procedure that will import it into the table of your choice. If tmpData1 exists then OPENROWSET will fail and if the excel file is open for reading or writing then again it will fail. After using OPENROWSET if the leading zeros are still there you could LTRIM them.