Inserte una Tabla en Excel a través de Matlab
Vamos a aprender cómo insertar un gráfico en Excel Hoja través de Matlab. Al final de este tutorial, aprenderás cómo abrir un archivo de Microsoft Excel, inserte un gráfico, el nombre del gráfico y los ejes.
Pasos
Paso 1: El primer paso es crear un servidor COM que se ejecuta la aplicación Excel.
Excel = actxserver('Excel.Application');
Esto supone que la aplicación Excel está instalado en su sistema. Si Excel no está instalado, esta declaración dará un error. Usted puede poner la declaración anterior dentro de un bloque try-catch:
try Excel = actxserver('Excel.Application');
catch Excel = [];
end
Paso 2: En este paso, vamos a abrir un archivo "ResultFile.xls" Excel en el directorio actual.
ResultFile = [pwd '\ResultFile.xls'];
Paso 2: En este paso, vamos a abrir un archivo "ResultFile.xls" Excel en el directorio actual.
ResultFile = [pwd '\ResultFile.xls'];
Workbook = invoke(Excel.Workbooks,'Open', ResultFile);
Paso 3: Por defecto, la visibilidad del archivo de Excel está establecido en FALSE. Puede hacer que el archivo de Excel sea visible mediante el comando:
set(Excel,'Visible',1);
Ejemplo
Los pasos anteriores se mantienen igual para todos los programas en Matlab que tratan los archivos de Microsoft Excel. Supongamos, hemos grabado algunas lecturas de un experimento. (Vea la captura de pantalla adjunta). Hemos llevado a cabo 15 iteraciones. Tenemos 2 juegos de lecturas del experimento. Lectura teórica y real. Veremos, cómo trazar estos datos como una función del valor de iteración.
La captura de pantalla adjunta muestra el gráfico generado en Microsoft Excel. Vamos a ver en este tutorial, cómo crear un gráfico como a través de Matlab.
Añadir un nuevo gráfico
El primer paso es agregar el gráfico en el "ExperimentSheet". Así, estamos agregando un nuevo gráfico y vamos a cambiar el nombre de la tabla como "ExperimentChart". Esto se puede hacer mediante el siguiente código:
Chart = Excel.ActiveSheet.Shapes.AddChart;
Paso 3: Por defecto, la visibilidad del archivo de Excel está establecido en FALSE. Puede hacer que el archivo de Excel sea visible mediante el comando:
set(Excel,'Visible',1);
Ejemplo
Los pasos anteriores se mantienen igual para todos los programas en Matlab que tratan los archivos de Microsoft Excel. Supongamos, hemos grabado algunas lecturas de un experimento. (Vea la captura de pantalla adjunta). Hemos llevado a cabo 15 iteraciones. Tenemos 2 juegos de lecturas del experimento. Lectura teórica y real. Veremos, cómo trazar estos datos como una función del valor de iteración.
La captura de pantalla adjunta muestra el gráfico generado en Microsoft Excel. Vamos a ver en este tutorial, cómo crear un gráfico como a través de Matlab.
Añadir un nuevo gráfico
El primer paso es agregar el gráfico en el "ExperimentSheet". Así, estamos agregando un nuevo gráfico y vamos a cambiar el nombre de la tabla como "ExperimentChart". Esto se puede hacer mediante el siguiente código:
Chart = Excel.ActiveSheet.Shapes.AddChart;
%Let us Rename this chart to 'ExperimentChart'
Chart.Name = 'ExperimentChart';
Eliminar las entradas por defecto en el cuadro:
De forma predeterminada, un gráfico de Excel sería trazar tomando los datos de todas las columnas no vacías disponibles. Así que, vamos a eliminar todas las entradas en la tabla y comenzar con una carta vacía. Así que, primero tenemos que seleccionar la tabla 'ExperimentChart'. Ya que tenemos sólo 3 columnas de datos, tenemos que llamar a la invocación (Series, 'Eliminar') tres veces.
%% Delete Default Entries
Eliminar las entradas por defecto en el cuadro:
De forma predeterminada, un gráfico de Excel sería trazar tomando los datos de todas las columnas no vacías disponibles. Así que, vamos a eliminar todas las entradas en la tabla y comenzar con una carta vacía. Así que, primero tenemos que seleccionar la tabla 'ExperimentChart'. Ya que tenemos sólo 3 columnas de datos, tenemos que llamar a la invocación (Series, 'Eliminar') tres veces.
%% Delete Default Entries
% Let us delete all the entries in the chart generated by defalut
ExpChart = Excel.ActiveSheet.ChartObjects('ExperimentChart');
ExpChart.Activate;
try
Series = invoke(Excel.ActiveChart,'SeriesCollection',1);
invoke(Series,'Delete');
Series = invoke(Excel.ActiveChart,'SeriesCollection',1);
invoke(Series,'Delete');
Series = invoke(Excel.ActiveChart,'SeriesCollection',1);
invoke(Series,'Delete');
catch e
end
Trazar las entradas
Ahora, todo lo que tenemos es un diagrama de vacío. La primera parcela estamos dibujando es valores experimento en la columna B en función del valor de la iteración en la columna A. Por lo tanto, primero tenemos que añadir un nuevo plan para la ActiveChart. Los valores de x para esta parcela serían la columna A y valores-y serían la columna B en la hoja de Excel. Con el fin de establecer la leyenda de esta trama, podemos tomar el nombre de encabezado de la columna B.
....%We are left with an empty chart now.
Trazar las entradas
Ahora, todo lo que tenemos es un diagrama de vacío. La primera parcela estamos dibujando es valores experimento en la columna B en función del valor de la iteración en la columna A. Por lo tanto, primero tenemos que añadir un nuevo plan para la ActiveChart. Los valores de x para esta parcela serían la columna A y valores-y serían la columna B en la hoja de Excel. Con el fin de establecer la leyenda de esta trama, podemos tomar el nombre de encabezado de la columna B.
....%We are left with an empty chart now.
%Insert a Chart for Column B
NewSeries = invoke(Excel.ActiveChart.SeriesCollection,'NewSeries');
NewSeries.XValues = ['=' resultsheet '!A' int2str(2) ':A' int2str(16)];
NewSeries.Values = ['=' resultsheet '!B' int2str(2) ':B' int2str(16)];
NewSeries.Name = ['=' resultsheet '!B' int2str(1) ];
Del mismo modo, podemos añadir otra parcela en la tabla y el gráfico de columnas C en función de la columna A.
Estilo del grafico
Microsoft Excel admite diferentes estilo de gráfico como gráfico de barras, gráfico circular, histograma, por nombrar algunos. Así que, por su ejemplo, estamos interesados en tener 2-D Diagrama de línea. Esto se puede configurar mediante el siguiente comando Matlab:
Excel.ActiveChart.ChartType = 'xlXYScatterLinesNoMarkers';
Del mismo modo, podemos añadir otra parcela en la tabla y el gráfico de columnas C en función de la columna A.
Estilo del grafico
Microsoft Excel admite diferentes estilo de gráfico como gráfico de barras, gráfico circular, histograma, por nombrar algunos. Así que, por su ejemplo, estamos interesados en tener 2-D Diagrama de línea. Esto se puede configurar mediante el siguiente comando Matlab:
Excel.ActiveChart.ChartType = 'xlXYScatterLinesNoMarkers';
La lista de todos los estilo de gráfico soportado se puede encontrar aquí.
Establecer los ejes
Ahora tenemos la trama deseada. Lo único que queda es el nombre de los ejes. El eje x, y el eje y se pueden configurar con el siguiente código:
% Set the x-axis
Axes = invoke(Excel.ActiveChart,'Axes',1);
set(Axes,'HasTitle',1);
set(Axes.AxisTitle,'Caption','Experiment')
% Set the y-axis
Axes = invoke(Excel.ActiveChart,'Axes',2);
set(Axes,'HasTitle',1);
set(Axes.AxisTitle,'Caption','Results')
%Give the Chart a title
Excel.ActiveChart.HasTitle = 1;
Excel.ActiveChart.ChartTitle.Characters.Text = 'Result vs Experiment';
Colocación Gráfico
Usted puede omitir esta parte, si usted piensa que la colocación por defecto de la tabla en la hoja de Excel no está solapando las celdas de datos. Por lo tanto, vamos a buscar una celda vacía y colocar el gráfico a partir de esa célula en particular. La colocación gráfico de Excel necesita de 4 parámetros:
%% Chart Placement
Colocación Gráfico
Usted puede omitir esta parte, si usted piensa que la colocación por defecto de la tabla en la hoja de Excel no está solapando las celdas de datos. Por lo tanto, vamos a buscar una celda vacía y colocar el gráfico a partir de esa célula en particular. La colocación gráfico de Excel necesita de 4 parámetros:
- Ancho
- Altura
- Colocación a la Izquierda
- Top Colocación
%% Chart Placement
Location = [ xlcolumn(2) int2str(20) ];
GetPlacement = get(Excel.ActiveSheet,'Range', Location);
% Resize the Chart
ExpChart.Width = 400;
ExpChart.Height= 250;
ExpChart.Left = GetPlacement.Left;
ExpChart.Top = GetPlacement.Top;
Guardar Excel
El último paso es guardar el archivo de Excel y cerrar la aplicación Excel:
invoke(Excel.ActiveWorkbook,'Save');
Guardar Excel
El último paso es guardar el archivo de Excel y cerrar la aplicación Excel:
invoke(Excel.ActiveWorkbook,'Save');
Excel.Quit;
Excel.delete;
clear Excel;
0 comentarios:
Publicar un comentario
Gracias por tu visita!!