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

本文介绍了如何使用MATLAB通过xlsread和xlswrite函数对Excel进行读写,包括只读数字、数字与字符分离,以及xlswrite的文件格式和写入方法。同时提到了Excel-link宏的安装和使用注意事项。
摘要由CSDN通过智能技术生成

!此文主要给自己查阅用
!其实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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值