怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中?

怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中?,第1张

方法如下:

使用函数xlsread读取单个文件

num=xlsread(filename)

filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中 数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单 元,将其处理为nan。

num = xlsread(filename, -1)

输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet。

num = xlsread(filename, sheet)

其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。

num = xlsread(filename,sheet, 'range')

其中range指定一个矩形的区域,用单引号括起来;例如:'D2:H4'代表以D2和H4为对角定点的矩形域

当excel中有合并单元格时,任何一个合并前的单元格的名字(比如D1)都会指代整个合并后的单元格,而将整个单元格读入,所以为了避免麻烦,尽量避免在需要读入的表格中合并单元格。

例如:

将读取D盘下的一个文件路径为:

D:/test/daxia.xls

num = xlsread('d:/test/daxia.xls',2,'D2:H4')读取sheet2的D2:H4区域数据

如果要进行交互式的选择用:num = xlsread('d:/test/daxia.xls',-1)

批量的文件要读取:

首先将多个文件进行批量重命名例如daxia1.xls,daxia2.xls,daxia3.xls,...

然后用循环的方式实现:

for i=1:100

filename=['d:/test/daxia',num2str(i),'.xls'] 

num=xlsread(filename)

end

可以直接在m文件里面用xlswrite函数:(filename/sheet/range都是要加单引号滴)

xlswrite(filename, M);将矩阵M的数据写入名为filename的Excel文件中。

xlswrite(filename, M, sheet);将矩阵M的数据写入文件名为filename中的指定的sheet中。

xlswrite(filename, M, range);将矩阵M中的数据写入文件名为filename的Excel文件中,且由range制定存储的区域,例如'C1:C2'.

xlswrite(filename, M, sheet, range) ;在上一条命令的基础上指定了所要存储的sheet。

status = xlswrite(filename, ...) ;返回完成状态值。如果写入成功,则status为1反之写入失败,则status为0.

[status, message] = xlswrite(filename, ...);返回由于写入 *** 作而产生的任何错误或警告信息

应用举例

例一:将数据写入默认的工作表中

将一七元素向量写入testdata.xls中。默认格式下,数据将写入文件中第一个工作表的A1至G1单元格。 xlswrite('testdata.xls', [12.7 5.02 -98 63.9 0 -.2 56])

例二:将混合数据写入制定工作表中

d = {'Time', 'Temp'12 9813 9914 97}

s = xlswrite('tempdata.xls', d, 'Temperatures', 'E1')

s =

1

Time Temp

12 98

13 99

14 97

例三:向文件中添加新的工作表

现将上例中的数据写入tempdata.xls中并不存在的一个工作表中,在这种情况下,xlswrite会添加一个新的工作表,名称由用户指定,此时xlswrite会显示警告提示添加了新的工作表。xlswrite('tempdata.xls', d, 'NewTemp', 'E1')

Warning: Added specified worksheet.

如果不想看到这些警告,可以输入下列命令。

warning off MATLAB:xlswrite:AddSheet

再一次输入写入命令,这次创建另外一个新的工作表NewTemp2,此时不再显示提示信息,但仍可以用msg命令提取该信息。

[stat msg] = xlswrite('tempdata.xls', d, 'NewTemp2', 'E1')

msg

msg =

message: 'Added specified worksheet.'

identifier: 'MATLAB:xlswrite:AddSheet' book.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9673246.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存