matlab在activex中读取视频,[转载]matlab读取excel数据并显示在excel(activex控件)中
figure;
spreadsheet = actxcontrol('OWC11.Spreadsheet.11',[0 0 560
420]);
M = {'abc', 123; 12.17, logical(1)};
FillGrid(spreadsheet,M); %自定义的spreadsheet数据填充函数
FillGrid函数的内容如下:
function
FillGrid(Spreadsheet1,M,DoPaste,DoWaitbar,MinR,MinC,MaxR,MaxC,AsStr)
TRUE = 1;
FALSE = 0;
TEST = TRUE;
if nargin<4 DoPaste = TRUE; end;
if nargin<5 DoWaitbar = TRUE; end;
if nargin<6 MinR = 0; end;
if nargin<7 MinC = 0; end;
if nargin<8 MaxR = 9e99; end;
if nargin<9 MaxC = 9e99; end;
if nargin<10 AsStr=0; end;
% USE AN ENUMERATED TYPE WORKAROUND
ClassEnumType = {'cell','char','logical','numeric'};
% FIND THE ACTIVE SHEET
ActSheet = get(Spreadsheet1,'ActiveSheet');
% CLEAR CONTENTS
ActSheet.Cells.ClearContents;
% FIND THE ACTIVE CELL, ROW AND COLUMN
% THIS IS NOT NECESSARY, BUT IT IS DONE FOR DEMONSTRATION
ActCell = get(Spreadsheet1,'ActiveCell');
ActCellRow = 1;%get(ActCell,'Row');
ActCellColumn = 1;%get(ActCell,'Column');
% if DoWaitbar h = waitbar(0,'Please wait...'); end;
% if DoWaitbar h = workbar(0,'请稍等...'); end;
[L,W] = size(M);
MinR = max(MinR,1);
MinC = max(MinC,1);
MaxR = min(L,MaxR);
MaxC = min(W,MaxC);
DoPaste=0;
if DoPaste
for i=1:10
for j=1:10
if ~isstr(M{i,j})
if M{i,j} == floor(M{i,j})
M2{i,j}=sprintf('%d',M{i,j});
else
M2{i,j}=sprintf('%f',M{i,j});
end;
end;
end;
end;
clipboard('copy',M2);
ActCellRow=1;
ActCellColumn=1;
XLfmt = nn2an(ActCellRow,ActCellColumn);
Select(Range(ActSheet,XLfmt));
Spreadsheet1.ActiveCell.Paste
else
if DoWaitbar MaxRC = MaxR.*MaxC; end;
for r = MinR:MaxR
for c = MinC:MaxC
if DoWaitbar
i = c+W.*(r-1);
% waitbar(i./MaxRC,h,sprintf( ...
% 'Posting %d of %d (%d%% done)', ...
% i,MaxRC,floor(100.*i./MaxRC)));
workbar(i./MaxRC,'数据输出中 ......')
end;
% Select current cell
XLfmt = nn2an(ActCellRow+r-1,ActCellColumn+c-1);
Select(Range(ActSheet,XLfmt));
% Assign value
ActCell = get(Spreadsheet1,'ActiveCell');
if putcellvalue(ActCell,M(r,c),AsStr) break; end;
% Re-select starting cell
XLfmt = nn2an(ActCellRow,ActCellColumn);
Select(Range(ActSheet,XLfmt));
end;
end;
end;
if DoWaitbar close(h); end;
function DoBreak = putcellvalue(ActCell,M,AsStr)
% PUTCELLVALUE puts a value in an active cell
% PUTCELLVALUE(ACTCELL,M) puts M in ACTCELL
% PUTCELLVALUE(ACTCELL,M,ASSTR) converts M to a string before
putting
% it if ASSTR = 1, leaves it as is if ASSTR = 0 (default)
%
% PUTCELLVALUE handles all classes and is used by FILLGRID.
%
% IT'S NOT FANCY, BUT IT WORKS
%
% See also Graph_and_Table, QuestDlgWithGrid,
SearchAndReplaceMany,
% SpreadSheet, DatabaseEditingTool, DuplicateFileFinder,
% PutCellValue, nn2an, FillGrid
%
% Keywords: grid spreadsheet ActiveX Active-X Active X GUI
Table
% graph_and_table plot graph table grid object flexgrid
% msflexgrid ocx tabular
% Michael Robbins
% robbins@bloomberg.net
% michaelrobbins1@yahoo.com
if nargin<3 AsStr=0; end;
if AsStr prefix = ''; else prefix = ''''; end;
DoBreak=0;
switch class(M)
case 'cell', % DE-CELLIZE
if prod(size(M)) > 1
errordlg('bad cell');
else
putcellvalue(ActCell,M{:},AsStr);
end;
case 'char', % POST (DATES WILL POST NUMERICLY UNLESS
AsStr==1
set(ActCell,'Value',[prefix M]); DoBreak=1;
case 'logical', % LOGICAL -> INT
putcellvalue(ActCell,int32(M),AsStr);
otherwise
if isnumeric(M)
if AsStr % # -> STRING
if isinteger(M) fstr='%d'; else fstr='%f'; end;
putcellvalue(ActCell,sprintf(fstr,M),AsStr);
else % POST
set(ActCell,'Value',M);
end;
else
errordlg('bad class');
end;
end;
function cr = nn2an(r,c)
% Thanks Brett Shoelson, via CSSM
t = [floor((c - 1)/26) + 64 rem(c - 1, 26) + 65];
if(t(1)<65), t(1) = []; end
cr = [char(t) num2str(r)];
matlab在activex中读取视频,[转载]matlab读取excel数据并显示在excel(activex控件)中相关推荐
- java byte 图片浏览器直接显示_在imge控件中直接显示图片(图片是byte[]格式)
在工作过程中遇到了这个问题,在网上查了一些资料,结合自己的解决方法及解决过程总结了下,方面以后查阅.如果能帮到同样遇到这个问题的你,将非常高兴哦~_~ 由于asp.net中的Image控件是在Syst ...
- matlab 表格控件,[转载]matlab读取excel数据并显示在excel(activex控件)中
figure; spreadsheet = actxcontrol('OWC11.Spreadsheet.11',[0 0 560 420]); M = {'abc', 123; 12.17, log ...
- MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片
最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在<数字图像处理>课程中完成的软件都是基于单文档的程序 ...
- DEV ASPXGRIDVIEW控件中的Findcontrol
转自:http://blog.csdn.net/x670558544/article/details/6060349 在DEV的aspxgridview中不存在gridview中的findcontro ...
- DEV ASPXGRIDVIEW控件中的Findcontrol
在DEV的aspxgridview中不存在gridview中的findcontrol,要找到某个控件用FindRowCellTemplateControl 例如: HiddenField hf = ( ...
- matlab figure函数_如何在Matlab中使用GUI做一个简易音乐播放器? ---- (六)控件间的数据传递...
我纠结了两个星期是否要写这一章-最后决定还是要写一章收尾,来解释其中的控件间的数据传递问题. 在前五篇中,如果有童鞋跟上了我的思路或者做完了这样一个gui,会发现还有一个一直避开的遗留问题,就是将歌曲 ...
- matlab中axes显示,求助:在matlab的axes控件中显示图像
利用plot命令重复刷新显示动画效果...本想在axes控件中显示,可是只有第一次plot命令在控件中显示,接下来的都是另开一个画图窗口显示图片..怎样让图片都在axes控件中显示呢?求高手指点. 附 ...
- 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】
本文转载自http://msdn.microsoft.com/zh-cn/library/s8z85th0(VS.80).aspx 借助于 ListView 控件的平铺视图功能,可以在图形信息和文本信 ...
- 如何在 ActiveX 控件中使用字体
字体的使用是ActiveX控件制作过程中不可缺少的部分.本文将深入浅出地介绍在ActiveX控件中制作过程中如何使用字体.本文所提及的ActiveX控件制作是指利用VC++6.0的MFC Active ...
最新文章
- 使用OpenCV,Python进行图像哈希(差分哈希 dHash)处理
- 2019年最受欢迎的JVM配置参数是怎样的?
- Atitit. Async await 优缺点 异步编程的原理and实现 java c# php
- matlab 颜色图名称
- C++ Primer 第10章 习题10.23
- AMD Athlon ⅡX2 240 K10 平台 超频 全记录
- nginx 学习笔记(9) 配置HTTPS服务器--转载
- matlab-robtics学习笔记
- cuid卡写入后锁死_荣耀手机NFC升级了:公交、门禁、支付、饭卡、加密卡还能写卡...
- 【渝粤题库】国家开放大学2021春1335幼儿园课程与活动设计题目
- 光谱 波长_【第三课】红外光谱仪及其联用技术
- 查看oracle死锁进程并结束死锁
- C#LeetCode刷题之#448-找到所有数组中消失的数字(Find All Numbers Disappeared in an Array)
- DELMIA软件物流仿真:操作对象显示与隐藏功能介绍与使用方法
- Word VBA:MathType公式与Latex公式切换
- GitHub图片加载不出来解决方案(超详细图文教程)
- 《大家来找茬》游戏辅助工具开发
- 批量删除QQ空间说说
- typescript常用编译结果函数__decorate、__matadata、__param、__awaiter
- 01读书笔记:《编码》-隐匿在计算机软硬件背后的语言(01-11章)
热门文章
- python打开外部应用
- Java聊天室2.0版本
- 链表的基本应用二及总结
- SSE图像算法优化系列十八:三次卷积插值的进一步SSE优化。
- php-fpm配置文件,指定session保存目录
- 生成纯字母随机编号的示例(大小写混合).sql
- 软件测试 学习之路 基本介绍
- android如何处理大图片大小,android-如何将图像大小减小到1MB
- java invocationtarget,Java异常处理之java.lang.reflect.InvocationTargetException
- Redis 集群密码配置