Matlab - Popupmenu conectado a excel

   
Vista:

Popupmenu conectado a excel

Publicado por Daniel (14 intervenciones) el 20/09/2015 03:54:40
Tengo una pregunta, recien cree un excel con un determinado numero de volcanes y estos volcanes tienen asociados distintas locaciones en una celda a su lado. Mi pregunta es como hacer que un popupmenu carge los volcanes que se tienen en la columna de volcan de excel y despues dependiendo del volcan seleccionado desplegar las opciones de locacion asociados al volcan clikeado.
Los volcanes los tengo en una lista normal mientras que las locaciones las tengo como dropdown list.
La idea es que se actualicen los popupmenu a traves de un boton de carga en el caso de que se agregen datos al excel.
Untitled
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Popupmenu conectado a excel

Publicado por Daniel (14 intervenciones) el 21/09/2015 17:36:09
alguna sugerencia?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel

Popupmenu conectado a excel

Publicado por Daniel (212 intervenciones) el 21/09/2015 19:04:59
Si podes cargar el archivo de excel, mejor.
Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Popupmenu conectado a excel

Publicado por Daniel (14 intervenciones) el 21/09/2015 19:31:46
aca esta la tabla que tengo de excel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel

Popupmenu conectado a excel

Publicado por Daniel (212 intervenciones) el 21/09/2015 20:33:07
Por lo que veo vos cargas las opciones de la lista de excel a mano, es decir que no esta en un lista de excel en el mismo archivo. Yo te recomiendo, deberás decidir si es posible, que tengas una tabla de excel con el esquema que te mando en el archivo volcanes1.xlsx y volcanes.m (ambos en el adjunto volcanes.rar).

Así se pueden leer de unas celdas especificas la info para cargarla en matlab.

Te mando también el archivo matlab que lee los datos de la tabla

Ponelos ambos en el mismo directorio, y fijate si esto soluciona tu pregunta.

Comentanos como te fue

Saludos

Daniel




Dejo igualmente el código abajo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
function volcanes
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
    'gui_Singleton',  gui_Singleton, ...
    'gui_OpeningFcn', @volcanes_OpeningFcn, ...
    'gui_OutputFcn',  @volcanes_OutputFcn, ...
    'gui_LayoutFcn',  [] , ...
    'gui_Callback',   []);
 
 
h1=uicontrol('style','pushbutton','string','Actualizar','position', [50 380 100 25],'callback',@h1_callback);
h2=uicontrol('style','popup','string','Volcanes','position', [50 320 100 50],'callback',@h2_callback);
h3=uicontrol('style','popup','string','Opciones','position', [50 270 100 50],'callback',@h3_callback);
h4=uicontrol('style','text','string',' ','position', [50 80 90 150]);
 
 
    function h1_callback(~,~,~)
 
        filename = 'volcanes1.xlsx';
        xlRange = 'B2:B51';
 
        [~, ~, vol1] = xlsread(filename, xlRange);
        j=1;
        while isnan(vol1{j})==0
 
            vol2{j}=vol1{j};
            j=j+1;
        end
        set(h2,'string',vol2)
 
    end
 
    function h2_callback(~,~,~)
 
        filename = 'volcanes1.xlsx';
        s=get(h2,'value')+1;
        xlRange = ['C' num2str(s) ':Z' num2str(s)];
 
        [~, ~, opc1] = xlsread(filename, xlRange);
        j=1;
        while isnan(opc1{j})==0
 
            opc2{j}=opc1{j};
            j=j+1;
        end
        set(h3,'string',opc2)
 
    end
 
function h3_callback(~,~,~)
 
        filename = 'volcanes1.xlsx';
        p=get(h3,'string');
        p0=get(h3,'value');
        s=get(h2,'string');
        s0=get(h2,'value');
        xlRange = ['A' num2str(s0+1) ':A' num2str(s0+1)];
 
        [~, ~, cam1] = xlsread(filename, xlRange);
        j=1;
        disp(s(s0))
        set(h4,'string',['Cámara : ' cam1 ' Volcán : ' char(s{s0}) 'Locación : ' char(p{p0})])
 
    end
 
 
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Popupmenu conectado a excel

Publicado por Daniel (14 intervenciones) el 21/09/2015 21:00:59
estimado le envie un mensaje privado por este medio,
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar