Bonjour à tous,
J'essaie de trouver une solution pour notre développeur ASP.Net, mais le développement Web n'est pas mon métier. Désolé d'avance donc pour toute future imprécision de ma part.
Donc, pour ce qui est de mon problème : Nous avons une page sur un site devant permettre à un utilisateur d'exporter vers Excel le contenu d'une table SQL Server.
Une fois le fichier récupéré, l'utilisateur doit pouvoir ajouter des lignes depuis Excel pour ensuite importer ce même fichier et mettre à jour la table SQL Server d'origine avec les nouvelles données.
Fondamentalement, pas de problème sur le code, il fonctionne bien, au travers d'une connexion oledbconnection.
Le problème que nous avons c'est qu'apparemment, lors de l'export, un "marqueur" END OF FILE semble se glisser dans le fichier Excel à la fin de la dernière ligne de données.
Ceci a pour conséquence que, lorsqu'un utilisateur ajoute des données après cette dernière ligne, et qu'il essaie d'importer son fichier, toutes les lignes qu'il a saisi ne sont pas importées, seules celles qui étaient présentes après l'export initial le sont.
De même, si on ajoute des lignes après la dernière ligne importée, et qu'on supprime la dernière ligne importée, le marqueur "END OF FILE" remonte d'un cran et ne permet toujours pas d'importer correctement l'ensemble des données.
Pour être plus clair voici un exemple :
Dans la table SQL Server :
1 | TOTO
2 | TATA
3 | TUTU
Après export, le fichier Excel :
1 | TOTO
2 | TATA
3 | TUTU
Après ajout de nouvelles lignes dans Excel :
1 | TOTO
2 | TATA
3 | TUTU
4 | TEST
5 | TEST2
Lors de l'import, seules les lignes 1, 2 et 3 sont importées.
Si on supprime la ligne 3 :
1 | TOTO
2 | TATA
4 | TEST
5 | TEST2
Lors de l'import, seules les lignes 1 et 2 sont importées.
Si on supprime toutes les lignes de l'import initial (et qu'on ne garde que les en-têtes) :
4 | TEST
5 | TEST2
Lors de l'import, aucune ligne n'est importée.
En revanche, si on insère des données entre les lignes 2 et 3 :
1 | TOTO
2 | TATA
4 | TEST
5 | TEST2
3 | TUTU
Désormais, toutes les lignes sont bien importées.
C'est ce qui me fait penser à un marqueur END OF FILE.
Ma question sera donc : comment contourner le problème ou s'en affranchir ?
Merci d'avance
Partager