Currently, users can export from SearchKit using the traditional Export wizard of CiviCRM, which requires users to select a mapping and a few other options.
As a user, I would like to be able to quickly export the data as seen on the screen.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
I looked into this a few weeks ago and ran into some complications, namely the way search displays render their results. As it is, some rendering is done by the API (e.g. replacing pseudoconstants using :label, or transformations like GROUP_CONCAT(...)), some is done by the Angular controller (e.g. calling CRM.formatDate()), and some is done by the Angular template (e.g. combining array data, formatting links).
If it all went through a single point, it would be much easier to pipe into a CSV.
Another complication is that, similar though they look, the table of results on the Admin screen is completely different code to a SearchDisplay of type table. That's starting to be a drag on development, as every new feature affecting table displays (and this would be one such feature) has to be implemented twice in two different ways. That's something I'd like to reconcile, ideally before tacking export. But that job comes with its own complications, as there are slight differences between the two types of tables (e.g. the "Add column" selector).
I took a look and the code is actually better after some of the recent refactoring I did.
But here's another consideration - is everyone going to be OK with .csv as the only available format? It's pretty easy to generate a .csv with javascript, but if we wanted anything fancy like .xls I think we'd have to give up on a client-side approach completely and write the exporter in PHP.