用matlab与Excel交互 非xlsread和xlswrite (2-单元格操作)

接上文 matlab与Excel交互 非xlsread和xlswrite (1),此处默认:
Excel=actxserver(‘Excel.application’);
Workbook 为已添加工作簿
eSheet1与eSheet2为工作表1和工作表2,都是具体的一个对象名,请根据自己的代码替换变量名。

单元格内容操作

1.设置单元格的值

eSheet2.Range('A1:C3').Value = magic(3);
% 这个等于magic(4)也行,但是多出的部分会自动忽略,
eSheet2.Range('A1').Value = 'Value'; % 设置某一个单元格的值
eSheet2.Columns.Item(1).Value = 123; % 设置某一列的值 行同理

在这里插入图片描述

2.复制,粘贴,剪切

% 清除单元格内容
eSheet1.Range('A1').Clear;
% 复制单元格内容
eSheet1.Range('A1').Copy;
% 剪切单元格内容
eSheet1.Range('A1').Cut;
% 删除单元格
eSheet1.Range('A1:C3').Delete
% 粘贴
eSheet1.Range('A1').PasteSpecial;
% 或者
% eSheet1.Paste;

3. 将单元格内容作为图片复制到剪切板

% 将单元格内容作为图片复制到剪切板
eSheet1.Range('A1:C3').CopyPicture

效果如下:
在这里插入图片描述

4.向Excel添加MATLAB中的图片

%向Excel中添加图片
a=0:0.1:5;
b=sin(a);
plot(a,b);
hgexport(gcf,'-clipboard');
eSheet1.Range('A1').PasteSpecial;
% 或者
% eSheet1.Paste;

效果如下:
在这里插入图片描述

单元格属性操作

1. 设置单元格内字体样式

eSheet2.Range('A1').Font.FontProperty = PropertyValue
% 其中:常用的FontProperty有:Name,Size,Bold,Italic,Underline,Color
% 分别对应字体,大小,加粗,斜体,下划线,颜色

FontProperty具体有那些可以查看

%字体加粗
eSheet2.Columns.Item(1).Font.Bold = true % 第一列加粗
% eSheet2.Columns..Font.Bold = true % 全部加粗
eSheet2.Range('A1:C3').Font.Bold = true % 选中范围加粗
eSheet2.Rows.Item(1).Font.Bold = true % 第1列加粗

在这里插入图片描述

eSheet2.Range('A1:C3').Font.Name = '华文行楷';
eSheet2.Range('A1:C3').Font.Size = 12;
eSheet2.Range('A1:C3').Font.Italic = true ;  %斜体

2. 设置单元格颜色

eSheet1.Range('A1:B3').Interior.Color = 2^24;% 二进制 前8位表示R,中8位表示G,后8位表示B

在这里插入图片描述
提示:颜色可以用十六进制表示(但记得要在赋值的时候转换成二进制),这样更容易提现RGB的值

3. 合并单元格

eSheet2.Range('A1:C3').Merge

在这里插入图片描述

4.文本对齐设置

Title.HorizontalAlignment=-4108;  % 水平居中
Title.VerticalAlignment=-4108; % 垂直居中

在这里插入图片描述
在这里插入图片描述

5.宽度和高度设置

Sheet1.Columns.ColumnWidth=1; % 列宽
Sheet1.Columns.RowHeight=10;  % 行距  单位为磅

6.边框设置

更多matlab和Excel的交互使用请看下一章

发布了50 篇原创文章 · 获赞 66 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43157190/article/details/99683635