You should try to use Data Conversion or Derived Column transformation right after SSIS Excel Source Adapter.
EDIT
You can try a different approach. By using Microsoft ACE OLEDB Provider. There are three versions of it: 12, 15, and 16.
Please try the following in SSMS.
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml; HDR=NO;
Database=c:\yourPath\dada.xlsx',
[Sheet1$]);
It is very easy to check if 64-bit Microsoft ACE provider is installed and what version.
In SSMS:
EXEC master.sys.sp_MSset_oledb_prop;
You should see it like below:
EDIT #2
You may try to change the following registry entry from default 8 to 0:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
It will force ACE OLEDB Provider to scan the first 16384 rows of Excel file instead of the first 8 (default) to guess its data type.