xlsread

(Не рекомендуемый) файл электронной таблицы Read Microsoft Excel

xlsread не рекомендуется. Использование readtable, readmatrix, или readcell вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Описание

пример

num = xlsread(filename) читает первый рабочий лист в рабочей книге электронной таблицы Microsoft® Excel® под названием filename и возвращает числовые данные в матрице.

num = xlsread(filename,sheet) читает заданный рабочий лист.

пример

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

пример

num = xlsread(filename,sheet,xlRange) чтения из заданного рабочего листа и области значений.

num = xlsread(filename,sheet,xlRange,'basic') считывает данные из электронной таблицы в basic импортируйте режим. Если ваш компьютер не имеет Excel для Windows® или если вы используете MATLAB® Online™, xlsread автоматически действует в basic импортируйте режим, который поддерживает XLS, XLSX, XLSM, XLTX и файлы XLTM.

Если вы не задаете все аргументы, используйте пустые символьные вектора, '' , как заполнители, например, num = xlsread(filename,'','','basic').

пример

[num,txt,raw] = xlsread(___) дополнительно возвращает текстовые поля в массиве ячеек txt, и и числовые данные и текстовые данные в массиве ячеек raw, использование любого из входных параметров в предыдущих синтаксисах.

___ = xlsread(filename,-1) открывает окно Excel, чтобы в интерактивном режиме выбрать данные. Выберите рабочий лист, перетащите мышью мышь в области значений, которую вы хотите и нажимаете OK. Этот синтаксис поддерживается только на компьютерах Windows с установленным программным обеспечением Microsoft Excel.

пример

[num,txt,raw,custom] = xlsread(filename,sheet,xlRange,'',processFcn), где processFcn указатель на функцию, чтения из электронной таблицы, processFcn вызовов на данных, и возвращает конечные результаты как числовые данные в массиве num. xlsread функция возвращает текстовые поля в массиве ячеек txt, и числовые данные и текстовые данные в массиве ячеек raw, и второй выход от processFcn в массиве custom. xlsread функция не изменяет данные, хранимые в электронной таблице. Этот синтаксис поддерживается только на компьютерах Windows с программным обеспечением Excel.

Примеры

свернуть все

Создайте файл с именем Excel myExample.xlsx.

values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First','Second','Third'};
xlswrite('myExample.xlsx',[headers; values]);

Sheet1 из myExample.xlsx содержит:

   First    Second    Third
       1         2        3
       4         5    x    
       7         8        9

Считайте числовые данные из первого рабочего листа.

filename = 'myExample.xlsx';
A = xlsread(filename)
A =
     1     2     3
     4     5   NaN
     7     8     9

Считайте определенную область значений данных из файла Excel в предыдущем примере.

filename = 'myExample.xlsx';
sheet = 1;
xlRange = 'B2:C3';

subsetA = xlsread(filename,sheet,xlRange)
subsetA =
     2     3
     5   NaN

Считайте второй столбец из файла Excel в первом примере.

filename = 'myExample.xlsx';

columnB = xlsread(filename,'B:B')
columnB =
     2
     5
     8

Для лучшей эффективности включайте номера строк в область значений, такие как 'B1:B3'.

Запросите числовые данные, текстовые данные и объединенные данные из файла Excel в первом примере.

[num,txt,raw] = xlsread('myExample.xlsx')
num =
     1     2     3
     4     5   NaN
     7     8     9

txt = 
    'First'    'Second'    'Third'
    ''         ''          ''     
    ''         ''          'x'    

raw = 
    'First'    'Second'    'Third'
    [    1]    [     2]    [    3]
    [    4]    [     5]    'x'    
    [    7]    [     8]    [    9]

В Редакторе создайте функцию, чтобы обработать данные из рабочего листа. В этом случае установите значения вне области значений [0.2,0.8] к 0.2 или 0.8.

function [Data] = setMinMax(Data)

minval = 0.2; 
maxval = 0.8;
 
for k = 1:Data.Count
  v = Data.Value{k};
  if v > maxval
    Data.Value{k} = maxval;
  elseif v < minval
    Data.Value{k} = minval;
  end
end

В Командном окне добавьте случайные данные в myExample.xlsx.

A = rand(5);
xlswrite('myExample.xlsx',A,'MyData')

Рабочий лист под названием MyData содержит значения в пределах от от 0 до 1.

Считайте данные из рабочего листа и сбросьте любые значения вне области значений [0.2,0.8]. Задайте имя листа, но используйте '' как заполнители для xlRange и 'basic' входные параметры.

trim = xlsread('myExample.xlsx','MyData','','',@setMinMax);

Выполните функцию на рабочем листе и отобразите пользовательский индекс выход.

В Редакторе измените функциональный setMinMax от предыдущего примера, чтобы возвратить индексы измененных элементов (пользовательский выход).

function [Data,indices] = setMinMax(Data)

minval = 0.2; 
maxval = 0.8;
indices = [];
 
for k = 1:Data.Count
  v = Data.Value{k};
  if v > maxval
    Data.Value{k} = maxval;
    indices = [indices k];
  elseif v < minval
    Data.Value{k} = minval;
    indices = [indices k];
  end  
end

Считайте данные из рабочего листа MyData, и запросите пользовательский индекс выход, idx.

[trim,txt,raw,idx] = xlsread('myExample.xlsx',...
    'MyData','','',@setMinMax);

Входные параметры

свернуть все

Имя файла в виде вектора символов или строки. Если вы не включаете расширение, xlsread поиски файла с указанным именем и поддерживаемым расширением Excel. xlsread может считать данные, сохраненные в файлах, которые в настоящее время открыты в Excel для Windows.

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

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

Рабочий лист в виде одного из следующего:

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

  • Положительное целое число, которое указывает на индекс рабочего листа. Эта опция не поддерживается для файлов XLS в basic режим.

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

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

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

Выбор области значений не поддерживается при чтении файлов XLS в basic режим. В этом случае используйте '' вместо xlRange.

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

Если вы задаете sheet, затем xlRange:

  • Не должен включать двоеточие и противоположный угол, чтобы описать отдельную ячейку.

  • Может относиться к именованной области значений, которую вы задали в файле Excel (см. справку Excel).

Когда заданный xlRange объединенные ячейки перекрытий:

  • На компьютерах Windows с Excel, xlsread расширяет область значений, чтобы включать все объединенные ячейки.

  • На компьютерах без Excel для Windows, xlsread возвращает данные для заданной области только, с пустым или NaN значения для объединенных ячеек.

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

Отметьте, чтобы запросить чтение в basic режим в виде вектора символов или строки, 'basic'.

basic режим является значением по умолчанию для компьютеров без Excel для Windows. В basic режим, xlsread:

  • Чтения XLS, XLSX, XLSM, XLTX и файлы XLTM только.

  • Не поддерживает xlRange введите при чтении файлов XLS. В этом случае используйте '' вместо xlRange.

  • Не делает входных параметров указателя функции поддержки.

  • Импорт все даты как Excel последовательные числа даты. Excel последовательные числа даты использует различную ссылочную дату, чем числа даты MATLAB.

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

Обработайте к пользовательской функции. Этот аргумент поддерживается только на компьютерах Windows с программным обеспечением Excel. xlsread чтения из электронной таблицы, выполняет вашу функцию на копии данных и возвращает конечные результаты. xlsread не изменяет данные, хранимые в электронной таблице.

Когда xlsread вызывает пользовательскую функцию, она передает интерфейс диапазона из приложения Excel, чтобы обеспечить доступ к данным. Пользовательская функция должна включать этот интерфейс оба как аргумент ввода и вывода. (См., Выполняют Функцию на Рабочем листе),

Пример: @myFunction

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

свернуть все

Числовые данные, возвращенные как матрица double значения. Массив не содержит информации от линий заголовка, или из внешних строк или столбцов, которые содержат нечисловые данные. Текстовые данные во внутренних строках и столбцах электронной таблицы появляются как NaN в num вывод .

Текстовые данные, возвращенные как массив ячеек. Числовые значения во внутренних строках и столбцах электронной таблицы появляются как пустые символьные вектора, '', в txt.

Для файлов XLS в basic импортируйте режим, txt выведите содержит пустые символьные вектора, '', вместо ведущих столбцов числовых данных, которые предшествуют текстовым данным в электронной таблице. Во всех других случаях, txt не содержит эти дополнительные столбцы.

Неопределенные значения (такие как '#N/A') появитесь в txt выведите как '#N/A', за исключением файлов XLS в basic режим.

Числовой и текстовые данные из рабочего листа, возвращенного как массив ячеек.

На компьютерах с Excel для Windows, неопределенные значения (такие как '#N/A') появитесь в raw выведите как 'ActiveX VT_ERROR:'. Для XLSX, XLSM, XLTX и файлов XLTM на других компьютерах или в MATLAB Online, неопределенные значения появляются как '#N/A'.

Второй выход функции, соответствующей processFcn. Значение и тип данных custom определяются функцией.

Ограничения

  • xlsread чтения только 7-битные символы ASCII.

  • xlsread не поддерживает области значений, состоящие из нескольких несмежных участков.

  • Если ваш компьютер не имеет Excel для Windows или если вы используете MATLAB Online, xlsread автоматически действует в basic импортируйте режим.

  • На Linux® и платформах Mac, xlsread не может открыть файлы электронной таблицы, записанные writetable функция.

Алгоритмы

  • xlsread форматированный текст импорта, представляющий даты (такие как '10/31/96'), кроме тех случаев, когда импорт в basic режим.

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

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

Не рекомендуемый запуск в R2019a

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