Getting the right tables for a project can be fiddly in R, both for content and format. What I really prefer is clean separation between functions for generating content of a table, from those to do with its formatting. I am often, but not always, working in the context of an rmarkdown based workflow. There, fine control over format details will usually require making use of tools peculiar to the output type of the document (pdf, html, etc). This can complicate things a bit.
These methods and tools are primarily about getting table content right.