exponenta event banner

xlswrite

(Не рекомендуется) Запись файла электронной таблицы Microsoft Excel

xlswrite не рекомендуется. Использовать writetable, writematrix, или writecell вместо этого. Дополнительные сведения см. в разделе Вопросы совместимости.

Описание

пример

xlswrite(filename,A) запись матрицы A на первый лист в электронной книге Microsoft ® Excel ®filename начиная с ячейки A1.

xlswrite(filename,A,sheet) записывает в указанный лист.

xlswrite(filename,A,xlRange) записывает в прямоугольную область, заданную xlRange в первом листе рабочей книги. Использовать синтаксис диапазона Excel, например 'A1:C3'.

пример

xlswrite(filename,A,sheet,xlRange) записывает в указанный лист и диапазон.

status = xlswrite(___) возвращает состояние операции записи, используя любой из входных аргументов в предыдущих синтаксисах. При успешном выполнении операции состояние: 1. В противном случае состояние 0.

[status,message] = xlswrite(___) дополнительно возвращает любое предупреждение или сообщение об ошибке, сгенерированное операцией записи в структуре message.

Примеры

свернуть все

Запишите 7-элементный вектор в файл Excel ®.

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

Запись смешанного текста и числовых данных в файл Excel ®, начиная с ячейкиE1 из Sheet2.

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

Входные аргументы

свернуть все

Имя файла, указанное как символьный вектор или строка.

Если filename не существует, xlswrite создает файл, определяя формат на основе указанного расширения. Чтобы создать файл, совместимый с программным обеспечением Excel 97-2003, укажите расширение .xls. Чтобы создать файлы в форматах Excel 2007, укажите расширение .xlsx, .xlsb, или .xlsm. Если внутренний номер не указан, xlswrite использует значение по умолчанию, .xls.

Пример: 'myFile.xlsx' или "myFile.xlsx"

Пример: 'C:\myFolder\myFile.xlsx'

Пример: 'myFile.csv'

Типы данных: char | string

Входная матрица, заданная как двумерный числовой, символьный или строковый массив, или, если каждая ячейка содержит один элемент, массив ячеек.

Если A является массивом ячеек, содержащим что-то, кроме скалярного числа или текста, то xlswrite автоматически оставляет соответствующую ячейку в электронной таблице пустой.

Максимальный размер массива A зависит от связанной версии Excel. Дополнительные сведения о спецификациях и ограничениях Excel см. в справке Excel.

Пример: [10,2,45;-32,478,50]

Пример: {92.0,'Yes',45.9,'No'}

Пример: "ABCDEF"

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell

Имя листа, указанное как одно из следующих:

  • Символьный вектор или строка, содержащая имя листа. Имя не может содержать двоеточие (:). Чтобы определить имена листов в файле электронной таблицы, используйте xlsfinfo.

  • Положительное целое число, указывающее индекс листа.

Если sheet не существует, xlswrite добавляет новый лист в конце коллекции листов. Если sheet индекс больше числа листов, xlswrite добавляет пустые листы до тех пор, пока количество листов в книге не станет равным sheet. В любом случае xlswrite создает предупреждение, указывающее, что добавлен новый лист.

Типы данных: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Прямоугольный диапазон, заданный как символьный вектор или строка.

Определить xlRange используя два противоположных угла, которые определяют область для записи. Например, 'D2:H4' представляет прямоугольную область 3 на 5 между двумя углами D2 и H4 на листе. xlRange ввод не учитывает регистр и использует стиль ссылки A1 Excel (см. справку Excel). xlswrite не распознает именованные диапазоны.

  • Если не указать sheet, то xlRange должны включать как углы, так и символ двоеточия, даже для одной ячейки (например, 'D2:D2'). В противном случае xlswrite интерпретирует ввод как имя листа (например, 'D2').

  • При указании sheet, то xlRange может указывать только первую ячейку (например, 'D2'). xlswrite записывает входной массив A начиная с этой ячейки.

  • Если xlRange больше размера входного массива A, программное обеспечение Excel заполняет остальную часть региона #N/A. Если xlRange меньше размера A, то xlswrite записывает только подмножество, которое соответствует xlRange в файл.

Типы данных: char | string

Выходные аргументы

свернуть все

Состояние операции записи, возвращаемое как 1 (true) или 0 (false). При успешном выполнении операции записи status является 1. В противном случае status является 0.

Ошибка или предупреждение, сгенерированное во время операции записи, возвращенное в виде структурного массива, содержащего два поля:

messageТекст предупреждения или сообщения об ошибке.
identifierИдентификатор сообщения.

Ограничения

  • xlswrite функция не поддерживает запись массивов ячеек, содержащих различные типы данных при попытке записи CSV-файлов.

  • Если на компьютере нет Excel для Windows ® или используется MATLAB ® Online™, то xlswrite функция:

    • Запись массива A в текстовый файл в формате CSV. A должен быть числовой матрицей.

    • Игнорирует sheet и xlRange аргументы.

    Это ограничение также применяется, когда COM-сервер (часть обычной установки Excel) недоступен.

Совет

  • Если на компьютере установлено программное обеспечение Microsoft Office 2003, но требуется создать файл в формате Excel 2007, установите пакет обеспечения совместимости Office 2007.

  • Excel и MATLAB могут хранить даты как текст, представляющий эти даты (например, '10/31/96'или серийные номера (например, 729329). Если массив включает серийные номера дат, преобразуйте эти даты в их текстовое представление с помощью datestr перед вызовом xlswrite.

  • Чтобы записать данные в файлы Excel с пользовательскими форматами (например, шрифты или цвета), откройте COM-сервер Windows напрямую с помощью actxserver вместо xlswrite. Например, этот ответ поддержки MathWorks использует actxserver для установления соединения между MATLAB и Excel записывает данные на лист и задает цвета ячеек.

Алгоритмы

Преобразование Excel Inf значения для 65535. Преобразование MATLAB NaN значения для пустых ячеек.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019a

Представлен до R2006a