К экспорту таблица в рабочей области к файлу электронной таблицы 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®, используйте функцию xlswrite
. Можно экспортировать данные в числовом человеке и текстовые переменные рабочей области к любому рабочему листу в файле, и к любому местоположению в рамках того рабочего листа. По умолчанию xlswrite
пишет ваши матричные данные в первый рабочий лист в файле, запускающемся в ячейке 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'; xlswrite(filename,A,1,'E1:I5')
Запишите массиву ячеек C
в прямоугольную область, которая запускает в ячейке B2
на рабочем листе под названием Temperatures
. Когда вы задаете лист, можно задать область значений с помощью только первую ячейку.
xlswrite(filename,C,'Temperatures','B2');
xlswrite
отображает предупреждение, потому что рабочий лист, Temperatures
, ранее не существовал, но можно отключить это предупреждение.
Если целевой рабочий лист не существует в файле, то writetable
и функции xlswrite
отображают это предупреждение:
Warning: Added specified worksheet.
Можно отключить эти предупреждения с этой командой:
warning('off','MATLAB:xlswrite:AddSheet')
Чтобы записать данные к файлам Excel в системах Windows® с пользовательскими форматами (такими как шрифты или цвета), получите доступ к серверу COM непосредственно с помощью actxserver
, а не writetable
или xlswrite
. Например, Техническое решение 1-QLD4K использование actxserver
, чтобы установить связь между MATLAB® и Excel, запишите данные к рабочему листу и задайте цвета ячеек.
Для получения дополнительной информации смотрите Начало работы с COM.