Matlab - xlswrite

 
Vista:

xlswrite

Publicado por oscar (11 intervenciones) el 10/05/2011 13:04:48
Hola, estoy pasando unos nombres que tengo almacenados en un cell array llamado nombres a un archivo excel. Lo hago con el comando xlswrite de la siguiente forma:

xlswrite('copianombres.xls',nombres,'Sheet1','A1');

Más adelante quiero volver a guardar mas nombres pero quiero que empiece por donde se haya quedado antes, es decir, por la celda B1, C1 o donde sea y no otra vez por A1. El problema es que el número de nombres es aleatorio y escogido por el usuario entonces no sabes en que celda de la columna 1 se habrá quedado la primera vez. ¿Alguien sabe como puedo hacerlo??
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/05/2011 15:19:02
HOla Oscar.
Aqui te envio un programa algo parecido a lo quieres. En cada ejecucion mi archivo creado base3.xls va agredando datos. Puedes utilizarlo para para lo que estas haciendo. Ejecutalo y veras lo que hace. el archivo base3.xls se crea el current folder de matlab alli lo puedes encontar.
Extrae la parte que deseas y agregalo a tu programa a lo que estas haciendo. El programa se llama aumento.m por eso cuando lo ejecuto lo llamo con ese nombre, pero sin extencion.

%==========================================
clear
[fid, texto]=fopen('base3.xls','a');
B=rand(3,5);
fprintf(fid,'\nAUMENTANDO DATOS');
fprintf(fid,'\n %f\t %f\t %f\t %f\t %f\t',B);
fclose(fid);
type base3.xls
%==================================================

%EJECUCION:

>> aumento %1ra ejecucion
AUMENTANDO DATOS
0.417267 0.049654 0.902716 0.944787 0.490864
0.489253 0.337719 0.900054 0.369247 0.111203
0.780252 0.389739 0.241691 0.403912 0.096455

>> aumento % 2da ejecucion
AUMENTANDO DATOS
0.417267 0.049654 0.902716 0.944787 0.490864
0.489253 0.337719 0.900054 0.369247 0.111203
0.780252 0.389739 0.241691 0.403912 0.096455

AUMENTANDO DATOS
0.131973 0.942051 0.956135 0.575209 0.059780
0.234780 0.353159 0.821194 0.015403 0.043024
0.168990 0.649115 0.731722 0.647746 0.450924

>> aumento % 3ra ejecucion
AUMENTANDO DATOS
0.417267 0.049654 0.902716 0.944787 0.490864
0.489253 0.337719 0.900054 0.369247 0.111203
0.780252 0.389739 0.241691 0.403912 0.096455

AUMENTANDO DATOS
0.131973 0.942051 0.956135 0.575209 0.059780
0.234780 0.353159 0.821194 0.015403 0.043024
0.168990 0.649115 0.731722 0.647746 0.450924

AUMENTANDO DATOS
0.547009 0.296321 0.744693 0.188955 0.686775
0.183511 0.368485 0.625619 0.780227 0.081126
0.929386 0.775713 0.486792 0.435859 0.446784

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
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

xlswrite

Publicado por oscar (11 intervenciones) el 11/05/2011 12:00:00
Creo que esto me pude ser útil. Muchas gracias Jose!!!
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

xlswrite

Publicado por oscar (11 intervenciones) el 12/05/2011 12:36:53
Una duda Jose, tu programa me funciona estupendamente cuando el contenido que paso a Excel son números de una matriz. Pero si lo que quiero es pasar strings q tengo guardados en un cell array no me funciona. Debo de estar haciendo algo mal pero no se el que. ¿Puedes ayudarme por favor?

Básicamente lo que hago es ésto:

fprintf(fid,'\n %s,B);

Pero B en lugar de ser una matriz de números como en tu caso es un cell array de una columna donde guardo cadenas de caracteres. Por eso he puesto %s. Pero así no me funciona...
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 jJOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por jJOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/05/2011 15:48:11
HOLA Oscar.
Seria bueno que pusieras parte de tus datos para ver como son. Para ayudarte acertadamente.
Pero por lo QUE entiendo, tus datos de estar de esta forma

Pablo
Maria
Pepe
Juana

Y estos quieres guardalos en excel. Hice unos cambios al programa para que imprima los datos de un cell array columna. Y tambien te pongo la ejecucion del programa.

==========================================
clear
[fid, texto]=fopen('aumentocadena.xls','a');
B={'Pablo';'Maria';'Pepe';'Juana'};
[n,m]=size(B);
fprintf(fid,'\nAUMENTANDO DATOS TIPO STRING\n');
for i=1:n
fprintf(fid,'%s\n',B{i,1});
end
fclose(fid);
type aumentocadena.xls
edit aumentocadena.xls
%=========================================

%EJECUCION

>> aumentocadena
AUMENTANDO DATOS TIPO STRING
Pablo
Maria
Pepe
Juana

>> aumentocadena
AUMENTANDO DATOS TIPO STRING
Pablo
Maria
Pepe
Juana

AUMENTANDO DATOS TIPO STRING
Pablo
Maria
Pepe
Juana

>> aumentocadena
AUMENTANDO DATOS TIPO STRING
Pablo
Maria
Pepe
Juana

AUMENTANDO DATOS TIPO STRING
Pablo
Maria
Pepe
Juana

AUMENTANDO DATOS TIPO STRING
Pablo
Maria
Pepe
Juana



Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
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

xlswrite

Publicado por oscar (11 intervenciones) el 13/05/2011 10:10:14
Eso es exactamente lo que necesitaba. Muchas gracias!!
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 JOSE JEREMAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por JOSE JEREMAS CABALLERO (5917 intervenciones) el 13/05/2011 14:52:24
Hola Oscar.
Primeramente darte las gracias por contestar.
Ok. Entonces Tu pregunta esta RESUELTO



Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
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

xlswrite

Publicado por Jess (3 intervenciones) el 28/02/2012 01:56:55
Hola ......bueno tengo una duda similar a la que discuten , ya que estoy intentando escribir una serie de datos en excel , solo que adquiero los datos a través de una interfaz gráfica de matlab , es como una hoja de datos personales ,quiero que se guarden los nombres a partir del ultimo introducido pero no se como hacerlo y en el programa que muestran utilizan fopen , no se que diferencia exista entre fopen y xlswrite .Soy nueva en esto , si pudieran ayudarme lo agradeceria mucho!!
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/02/2012 14:40:57
Hola Jess.
La funcion fopen sirve para abrir archivos para luego poder escribir en ellos o leer de ellos. La funcion xlswrite sirve para escribir los datos en un archivo de excel.
Si deseas mi envias tu interface a mi correo para ver como esta codificado, pero envialo los dos archivos tanto el archivo.fig y el archivo.m, para agregarle al interface lo que estas queriendo hacer.
Aun mas, si deseas te comunicas via messenger de hotmail(opcion audio) para mayor detalle, ya que escribiendo por el chat nose entiende mucho y ademas se pierde tiempo.


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected]
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

xlswrite

Publicado por Jess (3 intervenciones) el 28/02/2012 23:15:53
Muchas gracias ........lo enviare cuanto antes!!
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

xlswrite

Publicado por Jess (3 intervenciones) el 29/02/2012 22:13:40
Hola , gracias por la ayuda , mande mi código por correo y funciona muy bien el programa .
Gracias nuevamente.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 29/02/2012 23:06:00
Ok. Jessica.

ayuda en matlab

Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected]
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

xlswrite

Publicado por PKO (1 intervención) el 30/03/2012 18:45:57
Hola tengo una duda yo quisiera saber si alguien me pudiera decir como eliminar hojar de un archivo de excel y despues volver a escrivir en ese mismo archivo otras hojas y esto hacerlo desde matlab lo que pasa es que tengo un diseño grafico el cual permite modificar datos de un a matriz pero al momento de imprimir si la matriz final es mas grande que la original no hay problema me lo marca correcto pero si la matriz que genero es menor que la original no me borra los datos restantes de la original yme los vuelve a imprmir no se si alguien me pudiera ayudar con eso.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/03/2012 21:41:18
Hola PKO.
Buena pregunta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
% Hola tengo una duda yo quisiera saber si alguien me pudiera decir como
% eliminar hojar de un archivo de excel y despues volver a escrivir en ese
% mismo archivo otras hojas y esto hacerlo desde matlab lo que pasa es que
% tengo un diseño grafico el cual permite modificar datos de un a matriz
% pero al momento de imprimir si la matriz final es mas grande que la
% original no hay problema me lo marca correcto pero si la matriz que
% genero es menor que la original no me borra los datos restantes de la
% original yme los vuelve a imprmir no se si alguien me pudiera ayudar con
% eso.
 
clear all
clc
a=rand(100,200,3);
recortada=a(1:round(5*rand)+1,1:round(5*rand)+1,:);
delete testdata2.xls;
recortada(:,:,1)
xlswrite('testdata2.xls', recortada(:,:,1), 1, 'A1');
open('testdata2.xls')



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.blogspot.com/
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

xlswrite

Publicado por Martina (2 intervenciones) el 04/02/2015 14:02:43
Hola, quería preguntar si es posible eliminar las hojas que se generan por defecto al crear un excel, es decir, "Hoja 1, Hoja 2 y Hoja 3", ya que genero hojas con nombres concretos y esas tres hojas permanecen siempre al principio del archivo vacías.

Muchas gracias.

Un saludo,

Martina
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
sin imagen de perfil

xlswrite

Publicado por Daniel Richard (6 intervenciones) el 10/12/2017 06:22:04
Hola!!
Mi nombre es Daniel.
Estoy desarrollando un codigo en donde requiero guardar vectores de distinto tamaño, encontre un formato para guardarlos pero no los guarda, tampoco aparece ningun error, pero pareceria que esta en formato double array. por favor alguien podria ayudarme.
este es el codigo:

1
2
3
4
5
6
7
8
mensaje=['VoltajesNuevo''_' num2str(contador,'%02d')];
disp(VnS1')
disp('transformado')
Voltajes={'Sud[V]','Este[V]','Norte[V]','Oeste[V]';VnS1',VnE1',VnN1',VnO1'};
disp(Voltajes)

disp(Voltajes)
xlswrite(mensaje,Voltajes,'hoja1')


Al imprimir Voltajes aparece esto:
1
2
'Sud[V]'              'Este[V]'              'Norte[V]'            'Oeste[V]'
[18x1 double]    [19x1 double]    [54x1 double]    [21x1 double]
Gracias de ante mano!
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

xlswrite

Publicado por montse (2 intervenciones) el 17/10/2014 22:54:39
Hola, estoy desarrollando una interfaz en Matlab para el registro de personas, el código que mencionan con el comando fprintf me sirvió para almacenar los datos en un archivo .xls, pero como puedo hacer para extraer la información de una columna en especifico???
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

xlswrite

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/12/2017 15:45:13
1
2
3
4
5
6
7
8
9
10
clc
clear all
a=rand(4,5)
nombre='data.xlsx';
hoja=3;
rango='B3:F6';
xlswrite(nombre, a, hoja, rango)
open(nombre)
columna='B4:B5';
data=xlsread(nombre, hoja,columna)

1
2
3
4
5
6
7
8
a =
    0.1068    0.7150    0.6987    0.5000    0.6177
    0.6538    0.9037    0.1978    0.4799    0.8594
    0.4942    0.8909    0.0305    0.9047    0.8055
    0.7791    0.3342    0.7441    0.6099    0.5767
data =
    0.6538
    0.4942

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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