Copy paste is the only way today.
It's a known enhancement request.
Just write a simple pipelined function that utilizes your ref cursor as the data source.
Then execute a simple query like:
select * from table(myPipelinedFunction)
Then you can export those results.
The Oracle docs have examples of writing and using pipelined functions and, specifically, an example using a REF CURSOR as input to the function
Just search for 'oracle 12c pipelined functions'
A table function can take a collection of rows as input. An input collection parameter can be either a collection type or a
. . .
Pipelined Table Functions with REF CURSOR Arguments
A pipelined table function can accept any argument that regular functions accept. A table function that accepts a
REF CURSORas an argument can serve as a transformation function. That is, it can use the
REF CURSORto fetch the input rows, perform some transformation on them, and then pipeline the results out (using either the interface approach or the native PL/SQL approach).
Try the example in the doc and then adapt it to your own needs.
Then you will have a nice utililty function you can use whenever you have other REF CURSORS whose results you want to export.