matlab和Excel的数据交互操作(非xlsread和xlswrite)

时间:2022-04-19 07:45:37

前言

我们在学习matlab使用过程中可能需要用到excel中的数据,那么matlab和excel该如何交互呢?下面这篇文章带大家一起来看看

1.打开excel

?
1
2
3
4
5
6
7
8
9
clear all
% 添加excel函数
try
    excel=actxgetrunningserver('excel.application');
catch
excel=actxserver('excel.application');
end
% 设置excel可见
excel.visible=1;

效果如下:

matlab和Excel的数据交互操作(非xlsread和xlswrite)

2.新建workbook工作簿

?
1
2
3
4
5
% 新建文件
workbook=excel.workbooks.add ; % 默认为 工作簿1
% work=excel.workbooks.add    % 此时为 工作簿2
% 或者
% workbook=invoke(excel.workbooks,'add')

matlab和Excel的数据交互操作(非xlsread和xlswrite)

3.新建worksheet工作表

?
1
2
3
4
5
6
% 添加新的sheet
excelactiveworkbooks=get(excel,'activeworkbook'); % 获得当前的工作簿
esheet=get(excelactiveworkbooks,'sheets'); % 为当前的sheet
% 或者
% esheet=excel.activeworkbook.sheets
esheet.add;

matlab和Excel的数据交互操作(非xlsread和xlswrite)

3. 修改工作表名称

?
1
2
3
4
5
6
7
8
9
% 获得sheet的handle
esheet1 = item(esheet,1);
esheet2 = item(esheet,2);
% 修改sheet名称
esheet.item(1).name = '第一个';
esheet.item(2).name = '第二个';
% 或者
esheet1.name = 'item(esheet,1)';
esheet2.name = 'item(esheet,2)';

matlab和Excel的数据交互操作(非xlsread和xlswrite)

4. 选中工作表并写入数据

?
1
2
3
4
5
6
7
8
9
10
11
12
13
% % 激活esheet1
% esheet1.activate;
% 或者
% activate(esheet1);
 
% % 打开已有文件
% workbook=invoke(excel.workbooks,'open','c:\users\halo\desktop\data.xls');
% workbook= excel.workbooks.open(path)
% 保存文件
% invoke(workbook,'save'); % 默认路径为 文档
workbook.saveas('c:\users\halo\desktop\data.xlsx');
excel.quit; % 关闭 excel
excel.delete; % 删除对象

matlab和Excel的数据交互操作(非xlsread和xlswrite)

5.退出并保存

?
1
2
3
4
5
6
7
8
9
10
11
12
13
% % 激活esheet1
% esheet1.activate;
% 或者
% activate(esheet1);
 
% % 打开已有文件
% workbook=invoke(excel.workbooks,'open','c:\users\halo\desktop\data.xls');
% workbook= excel.workbooks.open(path)
% 保存文件
% invoke(workbook,'save'); % 默认路径为 文档
workbook.saveas('c:\users\halo\desktop\data.xlsx');
excel.quit; % 关闭 excel
excel.delete; % 删除对象

下一章将介绍更为丰富的使用技巧

总结

到此这篇关于matlab和excel交互操作的文章就介绍到这了,更多相关matlab和excel交互内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_43157190/article/details/99699077