exponenta event banner

Запись данных в электронные таблицы Excel

Запись табличных данных в файл электронной таблицы

Чтобы экспортировать таблицу в рабочей области в файл электронной таблицы Microsoft ® Excel ®, используйте writetable функция. Можно экспортировать данные из рабочей области в любой документ в файле и в любое место в этом документе. По умолчанию writetable записывает данные таблицы в первый лист в файле, начиная с ячейки A1.

Например, создайте образец таблицы данных, ориентированных на столбцы, и отобразите первые пять строк.

load patients.mat
T = table(LastName,Age,Weight,Smoker);
T(1:5,:)
ans=5×4 table
      LastName      Age    Weight    Smoker
    ____________    ___    ______    ______

    {'Smith'   }    38      176      true  
    {'Johnson' }    43      163      false 
    {'Williams'}    38      131      false 
    {'Jones'   }    40      133      false 
    {'Brown'   }    49      119      false 

Таблица записи T к первому листу в новом файле электронной таблицы с именем patientdata.xlsx, начиная с ячейки D1. Чтобы указать часть листа, в который требуется выполнить запись, используйте Range аргумент пары имя-значение. По умолчанию writetable записывает имена переменных таблицы как заголовки столбцов в файл электронной таблицы.

filename = 'patientdata.xlsx';
writetable(T,filename,'Sheet',1,'Range','D1')

Запишите таблицу T без имен переменных для нового листа с именем 'MyNewSheet'. Чтобы записать данные без имен переменных, укажите пару имя-значение WriteVariableNames как false.

writetable(T,filename,'Sheet','MyNewSheet','WriteVariableNames',false);

Запись числовых и текстовых данных в файл электронной таблицы

Для экспорта числового массива и массива ячеек в файл электронной таблицы Microsoft ® Excel ® используйте writematrix или writecell функции. Можно экспортировать данные в отдельных числовых и текстовых переменных рабочей области на любой лист в файле и в любое место в этом листе. По умолчанию функции импорта записывают данные матрицы в первый лист файла, начиная с ячейки A1.

Например, создайте образец массива числовых данных, Aи образец массива ячеек текстовых и цифровых данных, C.

A = magic(5)
C = {'Time', 'Temp'; 12 98; 13 'x'; 14 97}
A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9


C = 

    'Time'    'Temp'
    [  12]    [  98]
    [  13]    'x'   
    [  14]    [  97]

Запись массива A в прямоугольную область 5 на 5, E1:I5, на первом листе в новом файле электронной таблицы с именем testdata.xlsx.

filename = 'testdata.xlsx';
writematrix(A,filename,'Sheet',1,'Range','E1:I5')

Запись массива ячеек C к прямоугольной области, которая начинается в ячейке B2 на листе с именем Temperatures. Диапазон можно задать только с помощью первой ячейки.

writecell(C,filename,'Sheet','Temperatures','Range','B2');

writecell отображает предупреждение, потому что лист, Temperatures, ранее не существовал, но это предупреждение можно отключить.

Отключить предупреждение при добавлении нового документа

Если целевой лист не существует в файле, то writetable и writecell функции отображают это предупреждение:

Warning: Added specified worksheet.

Сведения о подавлении предупреждающих сообщений см. в разделе Подавление предупреждений.

Форматирование ячеек в файлах Excel

Чтобы записать данные в файлы Excel в системах Windows ® с пользовательскими форматами (например, шрифты или цвета), обратитесь к COM-серверу напрямую с помощьюactxserver вместо writetable, writetimetable, writematrix, или writecell. Например, техническое решение 1-QLD4K использует actxserver чтобы установить соединение между MATLAB ® и Excel, запишите данные на лист и укажите цвета ячеек.

Дополнительные сведения см. в разделе Начало работы с COM.

См. также

| |