I am trying to create a table in composer to be positioned at the base of the map and is essentially a title block to provide information in text, image and table form. The only success I have had is creating many small text boxes and strategically placing them to appear as a table. However this is extremely tedious and if I need to change the spacing of 1, I need to then change the spacing's of all other text boxes- surely there is an easier solution.
I have previously (in my early days...) created simple title blocks using HTML tables, using the Add HTML tool and constructing the table from scratch using
<td> etc., specifying most column widths and alignments in-line - a more sophisticated approach would heavily use the user stylesheet option to set certain defaults, and set up certain table style classes etc.
Then I would save the title block as a template by going to Layout > Save as Template, and using Layout Manager to create new maps from that template.
I think that might be the best option to create a table template, but be warned, it can be extremely time consuming, especially if you do not know much about HTML/CSS. Column widths, text padding, merged rows, font settings, etc.
Ideally, all of your text in the title block would be static or controlled by an attribute/variable as it is very inconvenient trying to replace/edit table contents in the HTML code, with the tiny text block provided - it's meant more for you to paste HTML that's ready to go.
Personally, I've since shifted to template styles that don't divide sections by lines at all, and just use text boxes with no frame for everything.
I lock the top-left coordinate of the text boxes (and sometimes the width) by going to Item Properties > Position and Size to prevent inadvertent shifting while allowing for some resizing. This still allows flexibility if needed, and is much easier and more user-friendly than modifying HTML. I also don't have to worry about shifting lines around.
If I really need a line to separate items I will just draw one using the Add Polyline tool in composer, and lock the polyline's location.