Effacer les filtres
Effacer les filtres

Insert the date and time on an excel file from a .mat file

2 vues (au cours des 30 derniers jours)
Samah EL QASSAH
Samah EL QASSAH le 20 Sep 2017
Commenté : Samah EL QASSAH le 21 Sep 2017
Hi,
I wrote a script that converts a .mat file into an Excel file:
% --- Executes on button press in Push
function Push_Callback(hObject, eventdata, handles)
g = get(handles.Push,'value');
if g == 1
%%Stop the simulation
set_param('MAJ','SimulationCommand','stop');
stop(handles.t);
set(handles.Stop,'BackgroundColor', 'red');
%%%%%%%%%%%%%%%%%%%%%%%%%%%
data=load('Exchange(1).mat');
h=fieldnames(data);
for k=1:size(h,1)
T = {'TIMER'};
A = {'FT5Lock'};
xlswrite('Suivi_monitoring.xlsx',data.(h{k}),'sheet_A', 'B1')
xlswrite('Suivi_monitoring.xlsx', T , 'sheet_A', 'A1')
xlswrite('Suivi_monitoring.xlsx', A , 'sheet_A', 'A2')
end
winopen Suivi_monitoring.xlsx
end
where the first line indicates the simulation time. I want to know if there is a possibility to indicate in the first line the system time (HH: MM: SS) instead of the simulation time?
I know there are quite a few functions dedicated to return the current time and date of the system like "clock" but I do not know how to do it.
  2 commentaires
Rik
Rik le 20 Sep 2017
What is your question exactly? Do you want to get the system time and convert to a string of the 'HH:MM:SS' format? If so, just take a look at the datestr family of functions.
Samah EL QASSAH
Samah EL QASSAH le 20 Sep 2017
I used a tofile block to write the data into a .mat file that I exported to an excel file. So the first line indicates the simulation time and the second line the data.
I want to display on the Excel file on the first line the date on which the data is written in the .mat instead of the simulation time.

Connectez-vous pour commenter.

Réponses (1)

Jan
Jan le 20 Sep 2017
This might be a job for m2xdate:
date = m2xdate(now);
xlswrite('Suivi_monitoring.xlsx', date, 'sheet_A', 'B1')
Or if you do not have the Financial Toolbox use this relation:
sdate_Matlab = sdate_Excel + 693960;
  1 commentaire
Samah EL QASSAH
Samah EL QASSAH le 21 Sep 2017
I used a tofile block to write the data into a .mat file that I exported to an excel file. So the first line indicates the simulation time and the second line the data.
I want to display on the Excel file on the first line the date on which the data is written in the .mat instead of the simulation time.
When I use :
date = m2xdate(now);
xlswrite('Suivi_monitoring.xlsx', date, 'sheet_A', 'B1')
I get this:
I tried this:
d = datestr(now, 'HH:MM:SS');
xlswrite('Suivi_monitoring.xlsx', d , 'sheet_E', 'A3')
I get the following result:

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by