So what I found to work was to separate the command into two commands, one for the header text and one for the numerical data.
filename = 'C:\CA_SIM\xxx\CA_out.xlsx';
writematrix(Excel_head,filename,'Sheet','Data1','Range','A1');
writematrix(Excel_out,filename,'Sheet','Data1','Range','A2');
This replaces
Excel_sheet = [Excel_head; Excel_out];
xlswrite('C:\CA_SIM\CA_out.xlsx',Excel_sheet);
I tried all the suggestions but this is the only way I found to get a clean excel spreadsheet with numberical data under text headers.
Thanks for the help,
Farley Postgate