Någon anledning till varför du inte uppgraderar till apex 5.0, eller åtminstone 4.2? Komponenterna "Dataladdning" har lagts till i 4.1 och erbjuder dig ett snabbt sätt att utveckla detta exakta krav. 4.0 är gammalt vid det här laget och stöds inte längre.
Att ladda en xlsx eller xls skiljer sig väldigt mycket från att ladda en CSV. Återigen, jag skulle fråga, varför inte uppdatera. Det finns plugins tillgängliga som bearbetar Excel-filer till samlingar, även XLSX. Återigen är dock din apex-version för låg. Du skjuter dig själv i foten henne e. Inte för att det inte finns kodningsalternativ, men ändå.
Om du fortfarande vill inte uppgradera av någon godtycklig anledning, fokusera kanske på xlsx-filer. De är i huvudsak zip-filer med en massa filer. Jag skrev en blogg om detta redan 2012. http://tpetrus.blogspot.be/2012/09/a-non-standard-export-to-excel-2010-xlsx.html
Den är fortfarande relevant och jag länkar den bara för att den innehåller kodens alla inälvor. Det är inte ofelbart och har dock gränser. Det finns säkert andra sätt också. Mindre så för 4.0.