MATLAB: Matlab Report Generation Table format datetime string

datetimeMATLAB Report Generatormlreportgentabletimetable

I want to put tables in a report. The table contains a colum of type datetime. Matlab fails to display the datetime and furthermore messes up the the colum headers. Bonus question: How can I remove the quotation marks from the string in the table?
Thanks
Code:
import mlreportgen.report.*
import mlreportgen.dom.*
R = Report('test', 'pdf');
open(R);
timeCol = datetime('now');
intCol = 1;
strCol = "abc";
testtable = table(timeCol, intCol, strCol);
MT = MATLABTable(testtable);
add(R, MT);
close(R)
Output:
timeCol intCol
1 "abc"

Best Answer

To display the time, convert the datetime variable to a string. You can do this by calling the STRING function.
The double quotes are there because thats the display output of the MATLAB table shows. To remove the double quotes, use a CATEGORICAL array. See below code snippet.
import mlreportgen.report.*
import mlreportgen.dom.*
R = Report('test', 'pdf');
open(R);
timeCol = categorical(string(datetime('now')));
intCol = 1;
strCol = categorical("abc");
testtable = table(timeCol, intCol, strCol);
MT = MATLABTable(testtable);
add(R, MT);
close(R)