Chargement de données d’Excel vers une table Oracle
Il existe une multitude de manières de charger des données issues d’Excel dans une table. Les plus communes étant sans doute SQL*Loader ou les tables externes. On a aussi évoqué précédemment l’utilisation de SQLcl.
Le problème de ces méthodes réside néanmoins dans la conversion au format CSV des données à importer. Celle-ci peut s’avérer complexe si les données contiennent des occurrences du séparateur, des sauts de ligne etc…
SQLDeveloper dispose d’un module d’import qui permet de charger directement des données à partir d’un fichier Excel. Il n’y a pas besoin de réaliser de conversion CSV préalable.
Le module permet aussi créer la table de destination…
Dans le panneau de connexions, après un clic-droit sur la rubrique « Tables », on peut accéder au menu contextuel « Import Data » :
On sélectionne ensuite le fichier Excel à partir duquel on souhaite importer les données. La case à cocher « header » permet d’indiquer si une entête est présente ou pas. On visualise les données dans la partie basse:
On précise ensuite le type de méthode à utiliser (table externe, insertions conventionnelles…) et la table de destination. Si celle-ci n’existe pas, elle sera créée:
On peut exclure certains champs de l’import:
L’écran suivant permet d’indiquer le nom et le type des colonnes dans la table de destination:
Un écran de synthèse est finalement affiché avant de procéder à l’import:
Cette méthode est extrêmement simple à mettre en oeuvre. Le seul problème que j’ai rencontré a été l’impossibilité de spécifier dans les écrans de préparation de l’import les paramètres NLS à utiliser. C’est problématique si le séparateur décimal ou le format des dates du fichier Excel ne correspondent pas aux paramètres de la session SQLDeveloper.






Bonjour
J’ai des difficultés à importer des données via un fichier Excel de 160.000 lignes de la taille de 14 Méga octets.
J’utilise Oracle SQL Developer.
Que faire donc?
M. Constant YAPI
Bonjour Constant,
obtiens-tu un message d’erreur? Comment se manifestent les difficultés dont tu parles?
A+
Raphaël