时间:2023-10-29 03:42:01 | 来源:网站运营
时间:2023-10-29 03:42:01 来源:网站运营
如何用matlab出word版本的报告?:因为回答和文章不能同步,最新的版本请参见:% 新建一个报告文档import mlreportgen.report.*import mlreportgen.dom.*;rpt = Report('myReport','pdf');% 添加报告元素 - 首页tp = TitlePage;% 给改报告元素赋值tp.Title = Text("本站用户统计报告"); tp.Subtitle = Text("之个人账号阅读访问"); tp.Subtitle.Color = "red"; tp.Image = which("Capture.JPG"); tp.Author = "作者:基于模型设计柚子"; tp.Publisher = "发行商:本站.com"; tp.PubDate = date();append(rpt,tp)%% Chapter1 章节chapter = Chapter("简介"); % 1.1 Section 段落 sec1 = Section("这里是第一章第一节?"); para = Paragraph('这里是第一章第一节的内容.'); append(sec1,para) append(chapter,sec1) % 1.2 Section 段落 sec2 = Section("这里是第一章第二节"); para = Paragraph('这里是第一章第二节的内容'); append(sec2,para); append(chapter,sec2)append(rpt,chapter)% 添加到报告文档里去close(rpt)% 查看报告rptview(rpt)
就得到了:web(fullfile(docroot, 'rptgen/referencelist.html?type=function&category=title-pages-and-tables-of-contents-1&s_tid=CRUX_topnav'))
TableOfContents:web(fullfile(docroot, 'rptgen/paragraphs-and-text-strings.html?s_tid=CRUX_lftnav'))
import mlreportgen.dom.*mlreportgen.dom.Document.createTemplate('TemplateBasedOnHole','docx');
打开这个模板文件TemplateBasedOnHole.docx,然后正常编辑 Word 报告静态内容,利用 Word 自身功能设置章节文本格式。import mlreportgen.dom.*rptname = 'FileeholeReport'rpt = Document(rptname,'docx','TemplateBasedOnHole');author = '基于模型设计柚子';PubData = date();% 更新模式while ~strcmp(rpt.CurrentHoleId,'#end#') switch rpt.CurrentHoleId case 'Author' append(rpt,author); case 'PubDate' append(rpt,PubData); end moveToNextHole(rpt);end close(rpt);rptview(rpt)
所以这个报告生成的逻辑,就这么简单,其它的不外乎添加不同的元素。import mlreportgen.dom.*rptname = 'FileeholeReport'rpt = Document(rptname,'docx','TemplateBasedOnHole');author = '基于模型设计柚子';PubData = date();% 表格 % headerLabels = ["日期","阅读","播放","点赞"];tableData = readtable('日报表.xls','ReadVariableNames',true);% 从 excel文件读入表格% 下面这一行纯粹是因为读入的时候中文显示不对,手动改的。% 如果读入的表格标题栏显示正常,则不需要下面这一行% 理论上说,表格最好不要用中文名tableData.Properties.VariableNames = ["日期","阅读","播放","点赞","喜欢","评论","收藏","分享"];% 文字 - 总阅读数,数字number 转文字stringcount1 = num2str(sum(tableData{:,2}));% 图片 plot1fig = figure% 如果用了中文名的话,表格按列名取数据的时候,加上小括号plot(tableData.('日期'),tableData.('阅读'));exportgraphics(fig,'barchart.jpg');% 把 plot 转存为图片,jpg是随便选的,可以选择其它合适的图片格式。plot1 = Image('barchart.jpg');plot1.Style = [plot1.Style {ScaleToFit}]; % 其实代码也可以定义这些元素的格式。% 表格 table1tableData2Publish = tableData;tableData2Publish.('日期') = char(tableData2Publish.('日期'));% 这里转为tableData2Publish纯粹是为了把读入的datatime数据类型转换为文本table1 = FormalTable(tableData2Publish);table1.StyleName = 'myTableStyle'; % 这里的表格形式不用代码来定义,而是直接选择 Word 模板里定义好的格式。myTableStyle的定义见后面的视频。table1.Style = [table1.Style,{ResizeToFitContents(true),Width('6in')}, ... {HAlign('center')}]; % 表格居中显示% 图片 plot2fig = figureplot(tableData.('日期'),tableData.('播放'));exportgraphics(fig,'barchart.jpg')plot2 = Image('barchart.jpg');plot2.Style = [plot2.Style {ScaleToFit}];while ~strcmp(rpt.CurrentHoleId,'#end#') switch rpt.CurrentHoleId case 'Author' append(rpt,author); case 'PubDate' append(rpt,PubData); case 'TotalReading' append(rpt,count1); case 'Plot1' append(rpt,plot1); case 'Table1' append(rpt,table1); case 'Plot2' append(rpt,plot2); end moveToNextHole(rpt);endclose(rpt);rptview(rpt)
关键词:版本,报告