声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1980|回复: 4

[综合讨论] 用MATLAB画出直方图,然后生成EXCEL文档

[复制链接]
发表于 2012-3-16 21:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
filespec_user=[pwd '\测试.xls'];
%判断Excel是否已经打开,若已打开,就在打开的Excel中进行操作,
%否则就打开Excel
try
Excel=actxGetRunningServer('Excel.Application');
catch
Excel = actxserver('Excel.Application');
end;
%设置Excel属性为可见
set(Excel, 'Visible', 1);
%返回Excel工作簿句柄
Workbooks = Excel.Workbooks;
%若测试文件存在,打开该测试文件,否则,新建一个工作簿,并保存,文件名为测试.Excel
if exist(filespec_user,'file');
Workbook = invoke(Workbooks,'Open',filespec_user);
else
Workbook = invoke(Workbooks, 'Add');
Workbook.SaveAs(filespec_user);
end
%返回工作表句柄
Sheets = Excel.ActiveWorkBook.Sheets;
%返回第一个表格句柄
sheet1 = get(Sheets, 'Item', 1);
%激活第一个表格
invoke(sheet1, 'Activate');
%如果当前工作表中有图形存在,通过循环将图形全部删除
Shapes=Excel.ActiveSheet.Shapes;
if Shapes.Count~=0;
for i=1:Shapes.Count;
Shapes.Item(1).Delete;
end;
end;

%随机产生标准正态分布随机数,画直方图,并设置图形属性
zft=figure('units','normalized','position',...
[0.280469 0.553385 0.428906 0.251302],'visible','off');
set(gca,'position',[0.1 0.2 0.85 0.75]);
data=normrnd(0,1,1000,1);
hist(data);
grid on;
xlabel('考试成绩');
ylabel('人数');
%将图形复制到粘贴板
hgexport(zft, '-clipboard');
%将图形粘贴到当前表格的A5:B5栏里
Excel.ActiveSheet.Range('A5:B5').Select;
Excel.ActiveSheet.Paste;
%删除图形句柄
delete(zft);

点评

看看这里: http://www.chinavib.com/thread-75703-1-1.html  发表于 2012-3-29 12:09

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2012-3-17 01:59 | 显示全部楼层
回复 1 # 笑石头 的帖子

分享吗? 原创或转贴?
 楼主| 发表于 2012-3-17 11:41 | 显示全部楼层
是转贴,有些地方需要学习,就转过来与大家一起分享,给大家提供一种方法。
在设计时,总是要出计算报告,WORD和EXCEL格式比较常见。EXCEL虽然也有计算,但功能不是很强大,最近,准备将一些经常做的事情程序化,以前使用DDE进行EXCEL与matlab交互。现在正准备尝试一下新的方法。
发表于 2012-3-17 21:56 | 显示全部楼层

期待LZ尝试顺利, 更期待LZ届时与大家分享成果! :@)
发表于 2012-3-29 09:34 | 显示全部楼层
回复 1 # 笑石头 的帖子

这好像我的一个帖子。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 03:48 , Processed in 0.080617 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表