Чтобы экспортировать таблицу в рабочей области в файл электронной таблицы 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);
Как экспортировать числовой массив и массив ячеек в корпорацию Майкрософт® 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 в Windows® системы с пользовательскими форматами (такими как шрифты или цвета), доступ к COM-серверу непосредственно с помощью actxserver а не writetable, writetimetable, writematrix, или writecell. Для примера Technical Решения 1-QLD4K использует actxserver для установления соединения между MATLAB® и Excel, запись данных в лист и определение цветов камер.
Дополнительные сведения см. в разделе Запуске с COM.