I've had a win on this and my "solution" does not use EXEC_STRING or create child records and gives me the required output quickly using an AwareIM document template 🙂
This is the UI I 've had for a while that allows the user to define and save their FIND criteria. My struggle has always been creating the output.

I'll focus on this new technique of getting output. The object in the screen above is Finder
Finder Attributes
Finder.Find_Statement is the FIND I assemble from the "Conditions" panel in the screen shot. I have a process to assemble the FIND but you could also simply type it in raw text.
Finder.Find_ListTable is an attribute containing construction of a LIST_TABLE() function (described in AwareIM Manual)
Finder Rule
This rule assembles Finder.Find_ListTable
Finder.Report_ListTable='<< LIST_TABLE(`'+Finder.Find_Statement+'`,`'+LIST_LINE(Finder.pm_Finder_Attribute_Output,'','`,`','Attribute_Name')+'`)>>'
In the example from the screen shot the resulting value of Finder.Report_ListTable is
<< LIST_TABLE(`FIND Person WHERE Person.sc_MemberState_ActiveMember='Yes' AND ( Person.sc_PersonCategory_Abbreviation <> 'NON' AND Person.sc_PersonCategory_Abbreviation <> 'NMA' AND Person.sc_PersonCategory_Abbreviation <> 'OHS' AND Person.sc_PersonCategory_Abbreviation <> 'SSTUWA staff' AND Person.sc_PersonCategory_Abbreviation <> 'ETC') AND Person.isRep<>'Current' AND Person.isDeputyRep<>'Current' AND Person.isOSHRep<>'Current' AND Person.isWomensContact<>'Current' AND Person.DateOfJoin<'2018-12-01' AND Person.EmailAddress IS DEFINED AND Person.sc_PersonCategory_Title<>'Student' ORDER BY Person.Surname, Person.FirstName IN BATCHES OF 100`,`PhoneHome`,`FirstName`,`PhoneWork`,`Number`,`EmailAddress`,`Surname`,`sc_PersonCategory_Abbreviation`)>>
Finder_Report Document Template
Then I have a small Document Template called Finder_Report of type HTML that only contains
<<Finder.Report_ListTable>>
Export Document Process
Then I have a process that take this Finder as Input. The key Action is simply an EXPORT DOCUMENT
EXPORT DOCUMENT Finder_Template TO FILE SystemSettings.Finder_ReportPath+SystemSettings.FolderChar+Finder.Report_FileName+'.xls'
It creates a file from the Finder_Template with a HTML table of all results embedded in it. The file has an .xls extension even thought it is HTML and Excel seems happy to map HTML table cells to spreadsheet cells. The process takes around 10 seconds to create 15k rows.
The only problem I'm seeing is that I cannot control the order of the output attributes.
What surprises me about this is how the
<<Finder.Report_ListTable>>
actually gets "executed" by AwareIM twice. It both inserts the <<Finder.Report_ListTable>> and acts on the LIST_TABLE() that we have in that attribute. Not sure what it does first but it works!
You could also use LIST_LINE in place of LIST_TABLE to create a CSV file. Only issue there is escaping quotes and commas in your data.
Happy holidays everyone 🙂