Firstly, I'm not sure if this matters, but make sure that the markup attribute value for your textElement in your JRXML is set to "html" (lowercase).
Secondly, the purpose of the markup attribute is to format the text using HTML, it is intended to highlight text in bold, italics, change the color or size of the font, etc. Table creation is not for this attribute.
You can create tables using standard JRXML without resorting to embedding HTML, an example is related to loading JasperReports under $ {JASPERREPORTS_HOME} / demo / samples / table
source share