在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]复制代码
|