I have used the UTL_FILE previously. You can also use java to do the same. Here is a link to Tom Kyte's site that has a good detailed example of using utl_file by creating an owa_sylk procedure.