将数据写入 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
写入名为 testdata.xlsx
的新电子表格文件中第一张工作表上的 5×5 矩形区域 E1:I5
。
filename = 'testdata.xlsx'; writematrix(A,filename,'Sheet',1,'Range','E1:I5')
将元胞数组 C
写入到名为 Temperatures
的工作表上的一个矩形区域(从单元格 B2
处开始)。可以仅使用第一个单元格指定范围。
writecell(C,filename,'Sheet','Temperatures','Range','B2');
writecell
将会显示警告,因为工作表 Temperatures
之前不存在,但您可以禁用此警告。
添加新工作表时禁用警告
如果文件中不存在目标工作表,则 writetable
和 writecell
函数将会显示以下警告:
Warning: Added specified worksheet.
有关如何隐藏警告消息的信息,请参阅隐蔽警告。
对 Excel 文件中的单元格设置格式
要将数据写入到 Windows® 系统上具有自定义格式(例如字体或颜色)的 Excel 文件,请直接使用 actxserver
而不是 writetable
、writetimetable
、writematrix
或 writecell
访问 COM 服务器。例如,技术解决方案 1-QLD4K 使用 actxserver
在 MATLAB® 和 Excel 之间建立连接,将数据写入工作表,以及指定单元格的颜色。
有关详细信息,请参阅Get Started with COM。