Das ist auch meine Meinung - Temporäre Dateien sind das richtige für sowas. Aber: mit deleteOnExit() hätte das Java-Programm Pech, weil es die Datei nicht löschen kann, solange sie in Excel geöffnet ist.Dann erstelle die Excel-Datei im temp-Verzeichnis und mach ein deleteOnExit().
Entweder er hat es dann irgendwo gespeichert bevor er die Datei schließt oder hat pech fall das Java-Programm erst danach geschlossen wird.