Unfortunately when the columns that will receive the data are created in the destination excel, the first 8 rows are taken into account, if none of those 8 records exceeds 255 characters for the column in question, it will be left with a maximum of 255 for the rest of the table. This is an EXCEL bug that can only be solved in a couple of ways:
That the destination file is already created and has a "temporary" record where you have a text greater than 255 characters in that column.
Modify your data set so that one of the records with more characters always comes between the first 8 rows.
As a suggestion: I remember that there was a way to modify in the windows registry the number of rows used to assign the type and length to the columns, but I never did. I'd like to search in google.