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

1 次查看(过去 30 天)
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 个评论
Rik
Rik 2017-9-20
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 2017-9-20
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.

请先登录,再进行评论。

回答(1 个)

Jan
Jan 2017-9-20
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 个评论
Samah EL QASSAH
Samah EL QASSAH 2017-9-21
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:

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by