Bonjour,
Dans le cadre d'un développement SSIS , je dois modifier un code en VB.Net qui met à jour le contenu d'un fichier Excel
Pour se faire, des lignes sont numerotées et dans une boucle avec un compteur, je met a jour la ligne dont WHERE F1=compteur
le probleme est que, dès qu'il s'agit d'un numero, deux cas de figures se presentes (j'ai simplifié un exemple de requete):
si j'ecris
avec des cotes entre le 1, il ne reconnait pas la valeur, elle n'existe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cmd.CommandText = "UPDATE [Feuil1$] SET F2='TEST' WHERE F1 ='1'" cmd.ExecuteNonQuery()
si j'ecris
donc sans les cotes, il me pete dans les doigts
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cmd.CommandText = "UPDATE [Feuil1$] SET F2='TEST' WHERE F1 =1" cmd.ExecuteNonQuery()
Par contre, si a la place des numeros de lignes, je met du texte, cela fonctionne
voici ma chaine de connexion au fichier excel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" + Dts.Variables("SOURCE").Value.ToString + strFilename & _ ";Extended Properties=""Excel 8.0;HDR=NO"""
Donc pour résumer, dans mon fichier excel, j'ai des une colonne avec des lignes numérotées.
je veux juste pouvoir modifier la ligne X avec des données que j'ai dans un dataset.
Çà fait des lustres que je stagne la dessus, j'avoue commencer a craquer.
J'ai farfouillé sur le net, il y a bien une méthode qui consiste a ajouter IMEX=1, mais cela passe le pilote en mode d'import. Donc oui, avec un select je récupère bien mes numéros, mais je ne peux pas faire des updates.
Y a peut être pas de solution non plus, mais si c'est le cas, dites le moi, ça m’évitera de me taper la tête contre les murs
please, help !
Merci a tous
Partager