Qualche motivo per cui non esegui l'aggiornamento a Apex 5.0, o almeno 4.2? I componenti "Caricamento dati" sono stati aggiunti in 4.1 e offrono un modo rapido per sviluppare questo requisito esatto. La 4.0 è ormai vecchia e non più supportata.
Il caricamento di un xlsx o xls è molto, molto diverso dal caricamento di un CSV. Ancora una volta, vorrei chiedere, perché non aggiornare. Sono disponibili plug-in che elaborano file Excel in raccolte, anche XLSX. Ancora una volta, però, la tua versione apice è troppo bassa. Ti stai sparando a un piede e. Non che non ci siano opzioni di codifica disponibili, ma comunque.
Se ancora non voglio aggiornare per qualche motivo arbitrario, concentrati forse sui file xlsx. Sono essenzialmente file zip con un mucchio di file. Ho scritto un blog su questo nel 2012. http://tpetrus.blogspot.be/2012/09/a-non-standard-export-to-excel-2010-xlsx.html
È ancora rilevante e lo sto collegando solo perché contiene tutte le viscere del codice. Non è infallibile e ha dei limiti però. Probabilmente ci sono anche altri modi. Meno per 4.0.