Hello, what you can do is add the totality of the columns to the datalist, but select the 'hide' feature within its configuration. With this, they will not appear on the screen but will be available for export.
On the other hand, even in community editions, there is a way to integrate more complex reports through a view of the database, more information here: How to use Hyperlink to access activity id in Datalist
Now, a recommendation, be very careful about memory to avoid, with very large reports, heap space errors. I have been able to perceive that the process of exporting the lists is computationally expensive.