打印

MATLAB如何对Excel单元格进行快速颜色填充

[复制链接]
885|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在Excel中随机生成一万个数据,并对这一万个数据划分16档进行上色
我采用的方法是,通过MATLAB对Excel的目标区域进行条件格式定义,对于16种不同的数值区间进行单元格颜色设置,一共只循环16次,耗时1.8秒

而如果直接对这一万个数据,逐一进行判断并在Excel单元格中进行颜色设置,那么一万次for循环总耗时为23.9秒,是前一种方式所消耗时间的13倍多。
实现代码在帖子底部,有兴趣的朋友,欢迎关注我的微信公众号"打浦桥程序员",谢谢
  • excel = actxserver('Excel.Application');
  • wb = excel.Workbooks.Add;
  • excel.Visible = true;
  • Data=rand(200,50);
  • wb.Worksheets.Item('Sheet1').Range('A1:AX200').value = Data;
  • Range = excel.Worksheets.Item(1).Range('A1:AX200');
  • xlCellValue = 1;
  • xlGreater = 1;
  • for i = 0:1:15
  •     ColorEle = [dec2hex(i),'8'];
  •     ColorEle = [ColorEle,ColorEle,'FF'];
  •     Range.FormatConditions.Add(xlCellValue,xlGreater,['=',num2str(1/16*i)], ['=',num2str(1/16*(i+1))]);
  •     Range.FormatConditions.Item(i+1).Interior.Color = hex2dec(ColorEle);
  • end

[color=rgb(51, 102, 153) !important]复制代码


使用特权

评论回复

相关帖子

沙发
zeshoufx| | 2020-9-29 08:53 | 只看该作者
谢谢分享【MATLAB对Excel单元格进行快速颜色填充】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1859

主题

6466

帖子

30

粉丝