我是靠谱客的博主 强健马里奥,这篇文章主要介绍MATLAB生成Word文档,现在分享给大家,希望可以做个参考。

一、创建Microsoft Word服务器

  1. 创建Microsoft Word服务器
复制代码
1
2
3
4
5
6
7
8
try % 若Word服务器已经打开,返回其句柄Word Word = actxGetRunningServer('Word.Application'); catch % 创建一个Microsoft Word服务器,返回句柄Word Word = actxserver('Word.Application'); end
  1. 设置对象属性
    设置Word服务器为可见状态
复制代码
1
2
3
set(Word, 'Visible', 1); %或Word.Visible = 1;

二、建立Word文本文档

  1. 新建空白文档
复制代码
1
2
3
% 调用Add方法建立一个空白文档,并返回其句柄Document Document = Word.Documents.Add;
  1. 页面设置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
%查看PageSetup接口的所有属性 Document.PageSetup.get %页面设置 Document.PageSetup.TopMargin = 60; % 上边距60磅 Document.PageSetup.BottomMargin = 45; % 下边距45磅 Document.PageSetup.LeftMargin = 45; % 左边距45磅 Document.PageSetup.RightMargin = 45; % 右边距45%查看枚举类型属性VerticalAlignment的属性值 Document.PageSetup.set('VerticalAlignment')
  1. 写入文字
    Content接口
    Content接口有很多属性和方法,可通过Content.get和Content.methodsview命令查看;
    Start属性用来获取或设定文字内容的起始位置,End属性用来获取或设定文字内容的终止位置,Text属性用来写入文字内容,Font属性用于字体设置,Paragraphs属性用于段落设置。
复制代码
1
2
3
4
5
6
7
8
9
10
% 返回Document的Content接口的句柄 Content = Document.Content; Content.Start = 0; % 设置文档内容的起始位置 title = '分析'; Content.Text = title; % 输入文字内容 Content.Font.Size = 16 ; % 设置字号为16

Selection接口
利用Word服务器的Selection接口可以在文档中选定一个区域,并对所选区域进行相关操作。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
% 返回Word服务器的Selection接口的句柄 Selection = Word. Selection; % 设置选定区域的起始位置为文档内容的末尾 Selection.Start = Content.end; Selection.TypeParagraph; % 回车,另起一段 Selection.Text = 'xueqi'; % 在选定区域输入文字内容 Selection.Font.Size = 12; % 设置字号为12 Selection.Font.Bold = 0; % 字体不加粗 Selection.paragraphformat.Alignment = 'wdAlignParagraphCenter'; % 居中对齐 Selection.MoveDown; % 光标移到所选区域的最后(取消选中) Selection.TypeParagraph; % 回车,另起一段 Selection.TypeParagraph; % 回车,另起一段 Selection.Font.Size=10.5; % 设置字号为10.5

Paragraphs接口
Paragraphs接口,用来进行段落设置。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
% 返回Document的Paragraphs接口的句柄 DP = Document.Paragraphs; DPI1 = DP.Item(1); % 返回第1个段落的句柄 DPI1.Range.Text = ['I''m a teacher working in Tianjin.']; % 输入第1自然段的文字内容 % 居中对齐 DPI1.Range.ParagraphFormat.Alignment = 'wdAlignParagraphCenter'; DPI1.Range.Font.Size = 12; % 设置字号为12 DPI1.Range.Font.Bold = 4; % 字体加粗 % 在当前自然段的后面插入一个新的自然段 DPI1.Range.InsertParagraphAfter; %2自然段首行缩进25磅 DP.Item(2).FirstLineIndent = 25;

三、插入表格

  1. 插入表格
    Tables接口,在文档中插入表格
复制代码
1
2
3
Table = Document.Tables.Add(handle, m, n); %handle为Selection.Range或Document.Tables.Add(Document.Paragraphs.Item(1).Range
  1. 设置表格边框
    Borders属性,用来设置表格边框
复制代码
1
2
3
4
5
6
7
Table.Borders.get % 查看Borders接口的所有属性 Table.Borders.set('属性名') % 查看Borders接口的属性值 Table.Borders.属性名 = ‘属性值’ ; %设置表格边框
复制代码
1
2
3
一个表格有8种线(注意不是线型),分别对应上边框、左边框、下边框、右边框、内横线、内竖线、左上至右下内斜线和左下至右上内斜线
  1. 设置表格行高和列宽
    Rows属性(接口)是指向表格各行,Columns属性(接口)是指向表格各列,通过这两个接口来设置表格的行高、列宽和对齐方式等
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
% 在光标所在位置插入一个129列的表格 Tab = Document.Tables.Add(Selection.Range,12,9); % 定义表格列宽向量和行高向量 column_width = [53.7736,85.1434,53.7736,35.0094,35.0094,... 76.6981,55.1887,52.9245,54.9057]; row_height = [28.5849,28.5849,28.5849,28.5849,25.4717,25.4717,... 32.8302,312.1698,17.8302,49.2453,14.1509,18.6792]; % 通过循环设置表格每列的列宽 for i = 1:9 Tab.Columns.Item(i).Width = column_width(i); end % 通过循环设置表格每行的行高 for i = 1:12 Tab.Rows.Item(i).Height = row_height(i); end
  1. 设置表格对齐方式
    整体设置
    Rows接口的Alignment属性用来设置整个表格的水平对齐方式。
复制代码
1
2
3
4
5
% 查看Alignment属性的属性值 DTI.Rows.set('Alignment') % 设置表格整体居中 Table.Rows.Alignment = 'wdAlignRowCenter';
复制代码
1
2
3
按单元格分别设置
复制代码
1
2
3
4
5
% 设置表格的第1个单元格水平对齐方式 DTI.Cell(1,1).Range.Paragraphs.Alignment = 属性值 % 设置表格的第1个单元格垂直对齐方式 DTI.Cell(1,1).VerticalAlignment = 属性值;
  1. 合并单元格
复制代码
1
2
Table.Cell(i1, j1).Merge(Table.Cell(i2, j2));
  1. 输入单元格内容
复制代码
1
2
Table.Cell(i, j).Range.Text = 单元格内容;

四、插入图片
InlineShapes和Shapes属性均可以在Word文档中插入图片,InlineShapes接口插入的图片是InlineShape对象;由Shapes接口插入的图像是Shape对象。
Word文档中一幅版式为嵌入式的图片就是一个InlineShape对象。可以将InlineShape对象理解为代表文档文字层的对象,InlineShape 对象被视为字符,可将其像字符一样放置于一行文本中;
Word文档中一幅版式为四周型、紧密型、衬于文字下方或浮于文字上方的图片就是一个Shape 对象。

  1. InlineShapes接口和InlineShapes对象
复制代码
1
2
3
4
5
% 返回InlineShapes接口的句柄 >> InlineShapes = Document.InlineShapes ; % 查看InlineShape对象的类型 >> InlineShapes.Item(1).set('Type')
  1. Shapes接口和Shapes对象
复制代码
1
2
3
4
5
% 返回Shapes接口的句柄 >> Shapes = Document.Shapes ; % 查看Shape对象的类型 >> Shapes.Item(1).set('Type');
  1. 插入外部图片
    插入InlineShape对象
复制代码
1
2
3
handle = Document.InlineShapes.AddPicture('外部图片所在路径'); %整个文档的左上角(默认锚点位置)插入一幅外部图片。 handle = Selection.InlineShapes.AddPicture('外部图片所在路径'); %在当前光标位置插入一幅外部图片。两条命令均返回当前InlineShape对象(刚插入的图片)的句柄handle

插入Shapes对象

复制代码
1
2
3
4
5
>> handle = Document.Shapes.AddPicture('外部图片所在路径'); %参数LinkToFile和SaveWithDocument的值不能同时为0'False',但可以同时为空 [] >> handle = Document.Shapes.AddPicture(‘图片路径’, LinkToFile, … SaveWithDocument, Left, Top, Width, Height, Anchor)
  1. 插入内部图片
    Paste和PasteSpecial方法,把它们插入到Word文档中
复制代码
1
2
3
4
5
>> Selection. Paste % 粘贴 >> Selection. PasteSpecial %选择性粘贴
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
% 调用normrnd函数生成1000个服从标准正态分布的随机数 >> data = normrnd(0,1,1000,1); % 新建一个图形窗口,设置为不可见状态 >> 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]); >> hist(data); % 绘制频数直方图 >> grid on; % 添加参考网格 >> xlabel('考试成绩'); ylabel('人数'); % 为X,Y轴加标签 >> hgexport(zft, '-clipboard'); %将图形复制到剪贴板 % 在当前光标位置处插入剪贴板上的图片,版式为嵌入式 >> Selection.Paste; >> Selection.TypeParagraph; % 回车,另起一段 % 在当前光标位置处插入剪贴板上的图片,版式为浮于文字上方 >> Selection.PasteSpecial;

五、保存文档

复制代码
1
2
3
>> Document.SaveAs('FilenameAndPath'); >> Document.Save;

最后

以上就是强健马里奥最近收集整理的关于MATLAB生成Word文档的全部内容,更多相关MATLAB生成Word文档内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(101)

评论列表共有 0 条评论

立即
投稿
返回
顶部