Main Content

xlswrite

(No recomendado) Escribir un archivo de hoja de cálculo

xlswrite no se recomienda. En su lugar, utilice writetable, writematrix o writecell. Para obtener más información, consulte Consideraciones sobre compatibilidad.

Descripción

ejemplo

xlswrite(filename,A) escribe la matriz A en la primera hoja de cálculo del libro de Microsoft® Excel® filename empezando en la celda A1.

xlswrite(filename,A,sheet) escribe en la hoja de cálculo especificada.

xlswrite(filename,A,xlRange) escribe en la región rectangular especificada por xlRange en la primera hoja de cálculo del libro. Utilice la sintaxis de intervalo de Excel, como 'A1:C3'.

ejemplo

xlswrite(filename,A,sheet,xlRange) escribe en la hoja de cálculo y el intervalo especificados.

status = xlswrite(___) devuelve el estado de la operación de escritura utilizando cualquiera de los argumentos de entrada de las sintaxis anteriores. Cuando la operación se realiza correctamente, el estado es 1. Si no, el estado es 0.

[status,message] = xlswrite(___) adicionalmente devuelve cualquier mensaje de advertencia o error generado por la operación de escritura en la estructura message.

Ejemplos

contraer todo

Escriba un vector de 7 elementos en un archivo de Excel®.

filename = 'testdata.xlsx';
A = [12.7 5.02 -98 63.9 0 -.2 56];
xlswrite(filename,A)

Escriba datos combinados numéricos y de texto en un archivo de Excel® empezando por la celda E1 de Sheet2.

filename = 'testdata.xlsx';
A = {'Time','Temperature'; 12,98; 13,99; 14,97};
sheet = 2;
xlRange = 'E1';
xlswrite(filename,A,sheet,xlRange)

Argumentos de entrada

contraer todo

Nombre de archivo, especificado como vector de caracteres o cadena.

Si filename no existe, xlswrite crea un archivo determinando el formato a partir de la extensión especificada. Para crear un archivo compatible con el software Excel 97-2003, especifique una extensión .xls. Para crear archivos con formatos de Excel 2007, especifique una extensión .xlsx, .xlsb o .xlsm. Si no especifica una extensión, xlswrite utiliza la predeterminada, .xls.

Ejemplo: 'myFile.xlsx' o "myFile.xlsx"

Ejemplo: 'C:\myFolder\myFile.xlsx'

Ejemplo: 'myFile.csv'

Tipos de datos: char | string

Matriz de entrada, especificada como un arreglo de caracteres numérico bidimensional o un arreglo de cadenas o, si cada celda contiene un único elemento, un arreglo de celdas.

Si A es un arreglo de celdas que contiene algo que no sean escalares numéricos o texto, xlswrite deja vacía la celda correspondiente de la hoja de cálculo de forma silenciosa.

El tamaño máximo del arreglo A depende de la versión de Excel asociada. Para obtener más información sobre las especificaciones y límites de Excel, consulte la ayuda de Excel.

Ejemplo: [10,2,45;-32,478,50]

Ejemplo: {92.0,'Yes',45.9,'No'}

Ejemplo: "ABCDEF"

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell

Nombre de la hoja de cálculo, especificado como una de las siguientes opciones:

  • Vector de caracteres o cadena con el nombre de la hoja de cálculo. El nombre no puede contener dos puntos (:). Para determinar los nombres de las hojas en un archivo de hoja de cálculo, utilice xlsfinfo.

  • Entero positivo que indica el índice de la hoja de cálculo.

Si sheet no existe, xlswrite agrega una nueva hoja al final de la colección de hojas de cálculo. Si sheet es un índice mayor que el número de hojas de cálculo, xlswrite anexa hojas vacías hasta que el número de hojas de cálculo del libro es igual a sheet. En cualquier caso, xlswrite genera una advertencia que indica que se ha agregado una nueva hoja de cálculo.

Tipos de datos: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Rango rectangular, especificado como vector de caracteres o cadena.

Especifique xlRange utilizando dos esquinas opuestas que definan la región que se desea escribir. Por ejemplo, 'D2:H4' representa la región rectangular de 3 por 5 entre las dos esquinas D2 y H4 en la hoja de cálculo. La entrada xlRange no distingue entre mayúsculas y minúsculas, y utiliza el estilo de referencia A1 de Excel (consulte Excel para obtener ayuda). xlswrite no reconoce rangos específicos.

  • Si no especifica sheet, xlRange debe incluir ambas esquinas y un carácter de dos puntos, incluso para una única celda (como 'D2:D2'). Si no, xlswrite interpreta la entrada como el nombre de una hoja de cálculo (como 'D2').

  • Si especifica sheet, xlRange puede especificar únicamente la primera celda (como 'D2'). xlswrite escribe el arreglo de entrada A empezando por esta celda.

  • Si xlRange es mayor que el tamaño del arreglo de entrada A, el software Excel rellena el resto de la región con #N/A. Si xlRange es menor que el tamaño de A, xlswrite escribe únicamente en el archivo el subconjunto que cabe en xlRange.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Estado de la operación de escritura, devuelto como 1 (true) o 0 (false). Cuando la operación de escritura se completa con éxito, status es 1. De lo contrario, status es 0.

Error o advertencia generados durante la operación de escritura, devueltos como un arreglo de estructura que contiene dos campos:

messageTexto de la advertencia o del mensaje de error
identifierIdentificador del mensaje

Limitaciones

  • La función xlswrite no permite escribir arreglos de celdas que contengan distintos tipos de datos al intentar escribir archivos CSV.

  • Si su ordenador no dispone de Excel para Windows® o si está utilizando MATLAB® Online™, la función xlswrite:

    • Escribe el arreglo A en un archivo de texto en formato de valores separados por comas (CSV). A debe ser una matriz numérica.

    • Ignora los argumentos sheet y xlRange.

    Esta limitación también se aplica cuando el servidor COM (parte de la instalación típica de Excel) no está disponible.

Sugerencias

  • Si su ordenador dispone del software Microsoft Office 2003, pero desea crear un archivo en un formato de Excel 2007, instale el Office 2007 Compatibility Pack.

  • Excel y MATLAB pueden almacenar las fechas como el texto que representa esas fechas (por ejemplo, '10/31/96') o como números de fecha de serie (por ejemplo, 729329). Si su arreglo incluye números de fecha de serie, convierta estas fechas en su representación de texto utilizando datestr antes de llamar a xlswrite.

  • Para escribir datos en archivos de Excel con formatos personalizados (como fuentes o colores), acceda al servidor COM de Windows directamente utilizando actxserver en lugar de xlswrite. Por ejemplo, esta MathWorks Support Answer utiliza actxserver para establecer una conexión entre MATLAB y Excel, escribe datos en una hoja de cálculo y especifica los colores de las celdas.

Algoritmos

Excel convierte los valores Inf en 65535. MATLAB convierte los valores NaN en celdas vacías.

Historial de versiones

Introducido antes de R2006a

contraer todo

R2019a: xlswrite no se recomienda.

xlswrite no se recomienda. En su lugar, utilice writetable, writematrix o writecell. No se prevé eliminar xlswrite.

A partir de la versión R2019a, utilice en su lugar writetable, writematrix o writecell. Las funciones writetable, writematrix y writecell tienen una mejor compatibilidad y rendimiento entre plataformas que la función xlswrite.

Esta tabla muestra usos típicos de xlswrite y cómo actualizar el código para que utilice writetable, writematrix o writecell en su lugar.

No recomendado

Recomendado

xlswrite(filename,M)

Para escribir datos tabulares en hojas de cálculo, utilice una de estas opciones en su lugar.

Escribir una tabla:

writetable(T,filename)

Escribir una matriz:

writematrix(M,filename)

Escribir un arreglo de celdas:

writecell(C,filename)