上一篇
最新动态:截至2025年7月,MATLAB R2025a版本进一步优化了对Excel文件的兼容性,新增了对.xlsx格式加密文件的支持,并提升了大数据量读取时的性能。
MATLAB作为工程和科学计算的利器,经常需要与Excel表格打交道——比如读取实验数据、导入参数表或导出计算结果,相比手动复制粘贴,用代码直接读取Excel更高效,还能避免人为错误。
.xls
或.xlsx
格式(老版本MATLAB可能不支持.xlsb
)。 'C:\Data\test.xlsx'
)。 readtable
——最推荐!适合读取带表头的结构化数据,自动识别列名和数据类型:
data = readtable('实验数据.xlsx'); % 读取整个表 temperature = data.温度列; % 通过列名提取数据
参数扩展:
'Sheet'
指定工作表:readtable('文件.xlsx', 'Sheet', 'Sheet2')
'Range'
选择区域:readtable('文件.xlsx', 'Range', 'B2:D100')
xlsread
——传统函数(兼容老版本)[num, txt, raw] = xlsread('数据.xlsx'); % num: 数值矩阵 % txt: 文本内容 % raw: 原始混合数据
注意:R2025a仍支持此函数,但未来可能逐步淘汰,建议优先用readtable
。
readmatrix
——纯数值快速读取当表格全是数字时,比readtable
更快:
matrixData = readmatrix('数值表.xlsx');
用单引号包裹路径,或改用英文路径:
data = readtable('D:\项目\数据表.xlsx'); % 正确 data = readtable("D:\项目\数据表.xlsx"); % 错误(双引号不行!)
opts = detectImportOptions('大文件.xlsx'); opts.DataRange = 'A1:Z10000'; % 先读前1万行 data = readtable('大文件.xlsx', opts);
指定导入选项处理日期列:
opts = detectImportOptions('带日期的表.xlsx'); opts = setvartype(opts, '日期列', 'datetime'); data = readtable('带日期的表.xlsx', opts);
批量读取多个文件:
files = dir('*.xlsx'); for i = 1:length(files) data{i} = readtable(files(i).name); end
处理合并单元格:
建议在Excel中提前取消合并,或用raw = xlsread(...)
手动处理。
写入Excel:配套使用writetable
:
results = table([1;2;3], {'A';'B';'C'}, ... 'VariableNames', {'ID','类别'}); writetable(results, '输出结果.xlsx');
:MATLAB读取Excel的核心就是readtable
函数,记住这个“万金油”语法,90%的场景都能搞定,遇到复杂情况时,结合detectImportOptions
灵活调整参数即可。
本文由 包坚成 于2025-07-29发表在【云服务器提供商】,文中图片由(包坚成)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/475461.html
发表评论