DIsplay / Copy huge amount of text

My app maintains an internal log (IndexDB). I want to build a mechanism for displaying over 8000 records (at least 1MB) of data, then allow he user to export the text. I’m assuming by selecting the copy/pasting the text from the UI into another app. A virtual list can certainly display the data. But I’m not sure how to provide a mechanism for copying the data or otherwise exporting it. I assume a text area has a max capacity. Any thoughts on that. What about a Card. Limits on that? What else.

Has anyone done this and could provide a viable recipe.