Main Content

Escribir datos de hojas de cálculo utilizando Excel como servidor de automatización

En este ejemplo se muestra cómo escribir una matriz de MATLAB® en una hoja de cálculo de Excel®. Para ver alternativas a cómo exportar datos de MATLAB a una hoja de cálculo de Microsoft® Excel, consulte las funciones y los ejemplos de Hojas de cálculo.

Cree un objeto Excel.

e = actxserver('Excel.Application');

Añada un libro de trabajo.

eWorkbook = e.Workbooks.Add;
e.Visible = 1;

Haga que la primera hoja sea activa.

eSheets = e.ActiveWorkbook.Sheets;
eSheet1 = eSheets.get('Item',1);
eSheet1.Activate

Incluya datos de MATLAB en la hoja de trabajo.

A = [1 2; 3 4];
eActivesheetRange = get(e.Activesheet,'Range','A1:B2');
eActivesheetRange.Value = A;

Vuelva a leer los datos en MATLAB, donde el arreglo B es un arreglo de celdas.

eRange = get(e.Activesheet,'Range','A1:B2');
B = eRange.Value;

Convierta los datos a una matriz doble. Utilice el siguiente comando si el arreglo de celdas solo contiene valores de escalar.

B = reshape([B{:}],size(B));

Guarde el libro de trabajo en un archivo.

SaveAs(eWorkbook,'myfile.xlsx')

Si el programa Excel muestra un cuadro de diálogo sobre cómo guardar el archivo, seleccione la respuesta adecuada para continuar.

Si ha guardado el archivo, cierre el libro de trabajo.

eWorkbook.Saved = 1;
Close(eWorkbook)

Salga del programa Excel y elimine el objeto del servidor.

Quit(e)
delete(e)

Nota

Asegúrese de cerrar los objetos del libro de trabajo que ha creado para evitar posibles pérdidas de memoria.

Consulte también

Temas relacionados