時間:2023-10-29 03:42:01 | 來源:網(wǎng)站運營
時間:2023-10-29 03:42:01 來源:網(wǎng)站運營
如何用matlab出word版本的報告?:因為回答和文章不能同步,最新的版本請參見:% 新建一個報告文檔import mlreportgen.report.*import mlreportgen.dom.*;rpt = Report('myReport','pdf');% 添加報告元素 - 首頁tp = TitlePage;% 給改報告元素賦值tp.Title = Text("本站用戶統(tǒng)計報告"); tp.Subtitle = Text("之個人賬號閱讀訪問"); tp.Subtitle.Color = "red"; tp.Image = which("Capture.JPG"); tp.Author = "作者:基于模型設(shè)計柚子"; tp.Publisher = "發(fā)行商:本站.com"; tp.PubDate = date();append(rpt,tp)%% Chapter1 章節(jié)chapter = Chapter("簡介"); % 1.1 Section 段落 sec1 = Section("這里是第一章第一節(jié)?"); para = Paragraph('這里是第一章第一節(jié)的內(nèi)容.'); append(sec1,para) append(chapter,sec1) % 1.2 Section 段落 sec2 = Section("這里是第一章第二節(jié)"); para = Paragraph('這里是第一章第二節(jié)的內(nèi)容'); 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 報告靜態(tài)內(nèi)容,利用 Word 自身功能設(shè)置章節(jié)文本格式。import mlreportgen.dom.*rptname = 'FileeholeReport'rpt = Document(rptname,'docx','TemplateBasedOnHole');author = '基于模型設(shè)計柚子';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 = '基于模型設(shè)計柚子';PubData = date();% 表格 % headerLabels = ["日期","閱讀","播放","點贊"];tableData = readtable('日報表.xls','ReadVariableNames',true);% 從 excel文件讀入表格% 下面這一行純粹是因為讀入的時候中文顯示不對,手動改的。% 如果讀入的表格標題欄顯示正常,則不需要下面這一行% 理論上說,表格最好不要用中文名tableData.Properties.VariableNames = ["日期","閱讀","播放","點贊","喜歡","評論","收藏","分享"];% 文字 - 總閱讀數(shù),數(shù)字number 轉(zhuǎn)文字stringcount1 = num2str(sum(tableData{:,2}));% 圖片 plot1fig = figure% 如果用了中文名的話,表格按列名取數(shù)據(jù)的時候,加上小括號plot(tableData.('日期'),tableData.('閱讀'));exportgraphics(fig,'barchart.jpg');% 把 plot 轉(zhuǎn)存為圖片,jpg是隨便選的,可以選擇其它合適的圖片格式。plot1 = Image('barchart.jpg');plot1.Style = [plot1.Style {ScaleToFit}]; % 其實代碼也可以定義這些元素的格式。% 表格 table1tableData2Publish = tableData;tableData2Publish.('日期') = char(tableData2Publish.('日期'));% 這里轉(zhuǎn)為tableData2Publish純粹是為了把讀入的datatime數(shù)據(jù)類型轉(zhuǎn)換為文本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)
關(guān)鍵詞:版本,報告
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。