The "Ragged Right" Files I have to deal with are Mixed Row Type files as well. Because of that, I cannot use column names from the csv file, but also, each row starts with a TypeID.
So, in DTS, I create a transform task for each row type and use a Transform Task with this code on the first column:
Function Main()
If DTSSource("Col001") = "HDRID" then
Main =DTSTransformStat_OK
ELSE
Main = DTSTransformStat_SkipRow
End if
End Function
In the example for the article your initial transform would just check the length and skip it if it was a header or footer. There's no need to import-export-import, even to get the column headings.
--
JimFive