You probably need to check for the columns that don't exist first (doesn't matter if you only want the new data or the old data too):
IF EXISTS(SELECT column_id from sys.columns
WHERE Name = N'columnName' AND Object_ID = Object_ID(N'tableName'))
BEGIN SELECT 1 END
ELSE
BEGIN SELECT 0 END
Source[^]
You need to replace the 'tableName' and 'columnName' with the name of your table and the values of your excel columns accordingly.
You run the query for each column in you excel sheet and if it returns 0 you can add the column:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
I don't know what type of data you got in your excelsheet you could try to map the values from the excel to an sql type. Just make sure that the values fit in the column ;)
If you want to delete the old data from the table just call a
DELETE FROM tablename
(just delete all the old data)
or
TRUNCATE TABLE tablename
(this basically recreates the table from scratch, resetting everything like index tables, auto increment values etc.)
You can then just start adding the new records (or update existing ones) with the values from your excel sheet.