Matlab - Problema con xlswrite

 
Vista:
sin imagen de perfil

Problema con xlswrite

Publicado por Felix R (28 intervenciones) el 10/09/2015 05:21:05
Buenas, estoy teniendo problemas para configurar el xlswrite para que me haga algo como lo siguiente, apreciaria mucho su ayuda. Gracias de antemano

El usuario pulsara un boton (Guardar) para guardar informacion contenida en variables (a,b,c,d,e) donde una de estas variables, digamos 'a' sera el nombre del archivo .xls(excel) ..

Quiero que ese archivo excel que se me genera, sea capas de adquirir con el mismo (a) , nueva informacion de las variables (b,c,d,e) en otra celda donde estaba originalmente el primero que se escribio


a.xls


1 |a| | b | | c| | d | | e|
2 nombrearchivo dato1 dato2 dato3 dato4
3
4 a | b| | c| | d | | e|
5nombrearchivo dato5 dato6 dato7 dato8

Lo anterior es una simulacion de como se veria el archivo (a.xls) en excel



Se que tengo que hacer un for y algo como un loop, pero la verdad , estoy muy confundido..

Espero se entienda mi idea, y puedan guiarme por un camino para investigar.

Muchas gracias
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
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con xlswrite

Publicado por Daniel (264 intervenciones) el 11/09/2015 00:58:12
no sé si entendí bien la idea, te comento algunas cosas que espero sirvan:
si tenes un archivo xls o xlsx llamado 'test' podes abrirlo y adquirir sus datos y fijarte cuanto ocupan

1
2
3
[~,~,datos]=xlsread('test.xlsx'); % lee test.xlsx
 
size(datos) % numero de filas y columnas escritas

si el resultado fuese [5 3] serian 5 filas y 3 columnas

si quiero escribir dejando una fila intermedia tendría que escribir a partir de la fila 7 (size(datos,1)+2)

y si quiero escribir 3 datos, por ejemplo escribiría de la columna A a la columna C.


1
xlswrite('test.xlsx',{'pepe',1,2},'A7:C7');

te paso un ejemplo de todo esto junto



1
2
3
4
5
6
7
8
9
10
for i=1:10
[~,~,datos]=xlsread('test.xlsx'); % lee test.xlsx
donde=['A' num2str(size(datos,1)+2) ':C' num2str(size(datos,1)+2)]; % donde debo escribir dentro de la planilla
 
nombre=['pepe_' num2str(i) '.m'];
data=[2*i 3*i];
guardar={nombre,data(1),data(2)};
 
xlswrite('test.xlsx',guardar,donde);
end

si vas a escribir muchas cosas el programa es medio lento porque abre y cierra el archivo muchas veces

si podes ir guardando a cada paso donde escribir el siguiente puede ser que sea algo mas rápido


Saludos

Comentanos si sirvió de algo

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema con xlswrite

Publicado por Felix R (28 intervenciones) el 16/09/2015 20:51:57
Oye muchas gracias por tu respuesta! Lo intentare a ver que tal!
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