Automatic import of Spread sheet data

Hi,
I am dealing with a spreadsheet which is linked to Bloomberg and therefore it is updating like every 1 min or so. I would like to find a way how i can automatically import the spreadsheet into a Matlab table every time the Spreadsheet data changes. Any suggestions how i can proceed on this issue?
best regards,

 Respuesta aceptada

Iain
Iain el 15 de Sept. de 2014

0 votos

It is possible to use a macro in excel that will tell matlab, in some way, if it has been updated.
It is also possible to just check the spreadsheet, from matlab, every "n" seconds. ("pause" & xlsread, being the commands you'd want)
It is also possible to control the spreadsheet's operation from matlab via an active x server.

6 comentarios

Paul
Paul el 15 de Sept. de 2014
Hi lain, thanks for the fast reply. I think the second alternative is the most convenient for my use. Would you be so kind and elaborate a bit more on how to do this. (Sorry for my ignorance i am quite new to Matlab)
best regards,
Iain
Iain el 15 de Sept. de 2014
I'd use a while loop:
while true
[numbers text rawdata] = xlsread(filename,sheetno); % reads 1 sheet out of the excel file
do stuff % do stuff here...
if something_happened
break % stop.
end
pause(55) % waits 55 seconds...
end
Paul
Paul el 15 de Sept. de 2014
great, thanks I'll start with that.
Iain
Iain el 15 de Sept. de 2014
tic & toc, or "now" or "clock" might give you better timing control than pause. Pick the right tool.
Paul
Paul el 15 de Sept. de 2014
Editada: Paul el 15 de Sept. de 2014
tic & toc, or "now" or "clock" might give you better timing control than pause. Pick the right tool.
where would i put these commands you are referring to?
Iain
Iain el 16 de Sept. de 2014
It depends what you're doing.
This:
tic
do stuff
a = toc;
Makes "a" store how long it took to "do stuff".
now & clock both return the current time, so you can calculate how long it took to:
a = now; or clock...
do_stuff
b = now; or clock...
time_taken = b-a;
With those you can make sure you only read the excel file at specific times. (say, once every minute, at 25 seconds.)

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 15 de Sept. de 2014

Comentada:

el 16 de Sept. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by