![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1692021/image.png)
Unwanted quotation marks when appending a table in pdf report
5 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm struggling with MATLAB Report Generator to append a table in a pdf. My table has string and float values. In the following code, mltable is displayed without quotation marks in MATLAB terminal but if I append it my pdf report, I get :
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1692016/image.png)
I looked at all the properties of mltableObj but couldn't find anything to get rid of the quotation marks. Any suggestion? Should I use another object and/or function?
Thanks in advance!
clear all
clc
import mlreportgen.dom.*
import mlreportgen.report.*
d = Report('myMATLABTable','pdf');
% Define the data
variableNames = {'p_solMaxPower_MW', 'p_batNomVoltage_V', 'p_batNomPower_MW'};
descriptions = {'Maximum Solar Power [MW]', 'Battery Nominal Voltage [V]', 'Battery Nominal Power [MW]'};
values = [10.0, 1000.0, 1.0];
% Convert cell arrays to character arrays
variableNames = char(variableNames);
descriptions = char(descriptions);
% Create and append the table
mltable = table(variableNames, descriptions, values', 'VariableNames', {'Name', 'Description', 'Value'});
mltableObj = MATLABTable(mltable);
mltableObj.Border = "solid";
mltableObj.BorderWidth = "1px";
mltableObj.ColSep = "solid";
mltableObj.RowSep = "solid";
mltableObj.HeaderRule = [];
mltableObj.HeaderRule.Border = 'none';
tbodyObj = mltableObj.Body;
tbodyObj.TableEntriesStyle = {Color('blue')};
tbodyObj.TableEntriesHAlign = 'center';
append(d,mltableObj);
close(d);
rptview(d);
0 个评论
回答(1 个)
Adam Danz
2024-5-10
编辑:Adam Danz
2024-5-10
I don't know whether there is any report generator wizardry that addresses this but a simple solution is to convert the cell-strings or string arrays to categorical values instead of char. You'll also need to ensure that the vectors are column vectors in the table() inputs.
% Convert cell arrays to character arrays
variableNames = categorical(variableNames);
descriptions = categorical(descriptions);
% Create and append the table
mltable = table(variableNames(:), descriptions(:), values(:), 'VariableNames', {'Name', 'Description', 'Value'});
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1692021/image.png)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!