![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1692021/image.png)
Unwanted quotation marks when appending a table in pdf report
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Adam Danz
am 10 Mai 2024
Bearbeitet: Adam Danz
am 10 Mai 2024
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)
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!