J'ai créé une page où nos partenaires peuvent télécharger des fichiers excel avec des statistiques en utilisant SQLBulkCopy. Le fichier comporte plusieurs feuilles et je dois ajouter le nom de la feuille dans une colonne de la base de données pour chaque ligne. Les noms des feuilles ne changeront pas, donc le codage en dur des noms est acceptable. Comment puis-je résoudre ce problème ?
Réponse
Trop de publicités?Comme le nom des feuilles ne change pas, j'ai résolu le problème de cette façon :
-
Création d'une table temporaire avec la même disposition que la table finale.
-
Importation des données de la première feuille dans un tableau temporaire.
-
Remplir la colonne qui était maintenant nulle avec la valeur correcte.
-
Faites les points 2 et 3 pour la feuille suivante jusqu'à ce que toutes les feuilles soient importées.
-
J'ai vérifié la table temporaire pour les erreurs.
-
J'ai importé les données de la table temporaire vers la table finale, une ligne à la fois, pour pouvoir repérer si les enregistrements existent déjà et, si c'est le cas, les mettre à jour, sinon les insérer.