Чтобы экспортировать таблицу в рабочей области в файл электронной таблицы 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.
filename = 'patientdata.xlsx'; writetable(T,filename,'Sheet',1,'Range','D1')
По умолчанию writetable написал имена табличной переменной как заголовки столбцов в файле электронной таблицы.
Чтобы записать таблицу T во второй лист в файле без имен табличной переменной, задайте пару "имя-значение" WriteVariableNames как false.
writetable(T,filename,'Sheet',2,'WriteVariableNames',false)
Чтобы экспортировать числовой массив и массив ячеек в файл электронной таблицы Microsoft® Excel®, используйте функции writecell или writematrix. Можно экспортировать данные в числовом человеке и текстовые переменные рабочей области к любому рабочему листу в файле, и к любому местоположению в рамках того рабочего листа. По умолчанию функции импорта пишут ваши матричные данные в первый рабочий лист в файле, запускающемся в ячейке 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. Например, Техническое решение 1-QLD4K использует actxserver, чтобы установить связь между MATLAB® и Excel, записать данные к рабочему листу и задать цвета ячеек.
Для получения дополнительной информации смотрите Начало работы с COM.