I have two suggestions:
1) Format the data in Excel as to how you want it imported into the table. This function will give you the first 30 characters: =LEFT(<cell>,30) This formula will set your truncation flag: =IF(LEN(<cell>) >30, "Y", "N")
2) My other suggestion is to create a "conversion work table" in SQL and import the Excel data "as is" into that table. Then create the SQL using substring and CASE statements to truncate the cell to 30 and set the truncation flag.
No doubt this could be done directly in SSIS, but I personally would use one of these suggesion. I'm sure there are others who will chime-in as well.
HTH,
Cindy