A partire da MS Office 2003 è possibile creare file XLS come normali file XML. La documentazione ufficiale è qui e alcuni esempi PL/SQL possono essere trovati qui o qui .
Tutto ciò che hai indicato nei requisiti può essere fatto in questo modo.
Spero che questo aiuti.
Ho fatto un XLS generale da soluzioni di reporting PL/SQL usando queste tecniche:non ci sono quasi cose difficili. Sentiti libero di chiedere se hai problemi.