我是靠谱客的博主 强健马里奥,最近开发中收集的这篇文章主要介绍MATLAB生成Word文档,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、创建Microsoft Word服务器

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

二、建立Word文本文档

  1. 新建空白文档
% 调用Add方法建立一个空白文档,并返回其句柄Document
Document = Word.Documents.Add;
  1. 页面设置
%查看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属性用于段落设置。
% 返回Document的Content接口的句柄
Content = Document.Content;
Content.Start = 0;
% 设置文档内容的起始位置
title = '分析';
Content.Text = title;
% 输入文字内容
Content.Font.Size = 16 ;
% 设置字号为16

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

% 返回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接口,用来进行段落设置。

% 返回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接口,在文档中插入表格
Table = Document.Tables.Add(handle, m, n);
%handle为Selection.Range或Document.Tables.Add(Document.Paragraphs.Item(1).Range
  1. 设置表格边框
    Borders属性,用来设置表格边框
Table.Borders.get
% 查看Borders接口的所有属性
Table.Borders.set('属性名')
% 查看Borders接口的属性值
Table.Borders.属性名 = ‘属性值’ ;
%设置表格边框

一个表格有8种线(注意不是线型),分别对应上边框、左边框、下边框、右边框、内横线、内竖线、左上至右下内斜线和左下至右上内斜线
  1. 设置表格行高和列宽
    Rows属性(接口)是指向表格各行,Columns属性(接口)是指向表格各列,通过这两个接口来设置表格的行高、列宽和对齐方式等
% 在光标所在位置插入一个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属性用来设置整个表格的水平对齐方式。
% 查看Alignment属性的属性值
DTI.Rows.set('Alignment')
% 设置表格整体居中
Table.Rows.Alignment = 'wdAlignRowCenter';

按单元格分别设置
% 设置表格的第1个单元格水平对齐方式
DTI.Cell(1,1).Range.Paragraphs.Alignment = 属性值
% 设置表格的第1个单元格垂直对齐方式
DTI.Cell(1,1).VerticalAlignment = 属性值;
  1. 合并单元格
Table.Cell(i1, j1).Merge(Table.Cell(i2, j2));
  1. 输入单元格内容
Table.Cell(i, j).Range.Text = 单元格内容;

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

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

插入Shapes对象

>> handle = Document.Shapes.AddPicture('外部图片所在路径');
%参数LinkToFile和SaveWithDocument的值不能同时为0'False',但可以同时为空 []
>> handle = Document.Shapes.AddPicture(‘图片路径’, LinkToFile, …
SaveWithDocument, Left, Top, Width, Height, Anchor)
  1. 插入内部图片
    Paste和PasteSpecial方法,把它们插入到Word文档中
>> Selection. Paste
% 粘贴
>> Selection. PasteSpecial
%选择性粘贴
% 调用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;

五、保存文档

>> Document.SaveAs('FilenameAndPath');
>> Document.Save;

最后

以上就是强健马里奥为你收集整理的MATLAB生成Word文档的全部内容,希望文章能够帮你解决MATLAB生成Word文档所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部