I could be wrong - since I don't have access to you data, but - guessing - I think what you MAY be doing here is trying to concatenate a cell array (name) with a matrix (Data) and Matlab doesn't like that!
Also not clear to me whether 'date' is numeric or cell. Assuming that your date is a matrix, name is a cell, and Data is a matrix, try swapping the error line to this:
DataFinal = [num2cell(date), name, num2cell(data)]
or if 'date' is already a cell array
DataFinal = [date, name, num2cell(data)]
(NB id date is a character array, use cellstr to convert this to a cell array)
Failing that then you have the wrong number of rows in your variables. Put a breakpoint in at the line where you do the concatenation, and inspect the variables with the variable editor to see if they are the right size and shape.
I think I am right in saying that xlswrite will handle eithetr matrix data or cell data, but can't cope with a mixture of both. So either export your numeric and txt/cell data separately in 2 lines, or use num2cell to convert your matrix data to cell before using xlswrite.
Can't be sure, but that's my guess, and it can't hurt to try!