RM-1 使用matlab进行Excel文件读写

    科技2022-08-11  133

    !此文主要给自己查阅用 !其实matlab帮助文档也挺香的……

    一、使用matlab对excel进行读写

    方法一:xlsread/xlswrite

    (一)xlsread

    1. 只读数字:

    num = xlsread(‘filename’)num = xlsread(‘filename’,sheet,‘range’)num = xlsread(‘filename’,sheet,‘range’,functionhandle) #使用函数句柄对数据进行处理

    以下表为例: 代码:

    clear;clc; num = xlsread('Test233.xls',1,'A1:D6')

    输出结果:

    num = 2 NaN 99 3 NaN 88 1 NaN 77 4 NaN 66 5 NaN 55

    可以发现,num中只包含数字,不包含字符。 2. 数字与字符分存(详见help文档):

    [num,txt,raw] = xlsread(‘filename’,sheet,‘range’);[num,txt,raw,X] = xlsread(‘filename’,sheet,‘range’,functionhandle);

    其中,num是数字矩阵,txt是元胞数组,raw是未经处理的元胞数组(原excel原封不动复制版),X为额外输出的数值矩阵

    代码:

    clear;clc; [n1,t1,r1] = xlsread('Test233.xls',1,'A1:D6')

    输出结果:

    n1 = 2 NaN 99 3 NaN 88 1 NaN 77 4 NaN 66 5 NaN 55 t1 = 6×4 cell 数组 '姓名' '年级' '寝室' 'Grade' 'Tina' '' 'A-203' '' 'Nina' '' 'B-111' '' 'Kate' '' 'A-101' '' 'Harry' '' 'C-110' '' 'Ron' '' 'C-110' '' r1 = 6×4 cell 数组 '姓名' '年级' '寝室' 'Grade' 'Tina' [ 2] 'A-203' [ 99] 'Nina' [ 3] 'B-111' [ 88] 'Kate' [ 1] 'A-101' [ 77] 'Harry' [ 4] 'C-110' [ 66] 'Ron' [ 5] 'C-110' [ 55]

    (二)xlswrite 1.文件格式:

    .xls Excel 97~2003.xlsx Excle 2007

    2.写入方法

    xlswrite(‘filename’,M,sheet,‘range’)操作完成情况(成功完成,status返回值为1): status = xlswrite(‘filename’,…)输出write操作过程中的警告和错误信息: [status,message] = xlswrite(‘filename’,…)

    代码:

    clear;clc; [n1,t1] = xlsread('Test233.xls',1,'A1:D6'); xlswrite('TryW.xls',t1,1,'A1:D6') xlswrite('TryW.xls',n1,1,'B2:B6') xlswrite('TryW.xls',n1,1,'D2:D6') [status,message] = xlswrite('TryW.xls',n1,1,'D2:D6')

    输出结果:

    #这是一个把表格内数据原封不动抄回去的故事 #只是没有对NaN数据进行筛析后再放入…… status = logical 1 message = 包含以下字段的 struct: message: '' identifier: ''

    方法二:使用Excel-link宏

    在excel的‘office按钮’中的‘Excel选项’下,选择‘加载项’,加载Spreadsheet Link EX for use with Matlab若第一次使用,则应点击‘加载项’中的‘选项’,点‘加载宏’,点‘浏览’,在matlab安装目录下“matlab\toolbox\exlink”文件夹中找到“excllink.xla”文件但是安装此宏文件后,打开Excel的时间和开Matlab差不多……

    本文主要参考内容:

    《MATLAB从零到进阶》P221~P234
    Processed: 0.021, SQL: 8