Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Select depuis excel

2 réponses
Avatar
Flack
Bonjour j'ai un petit problème, je crée une connection ODBC sur un fichier
excel

conExcel = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data source=" &
txtFile.PostedFile.FileNam& "; " & _
"Extended Properties=Excel
8.0;")

ensuite je crée une commande select * from [feuil1$] et je rempli une table.
C'est dans la récupération des données que je ne comprend pas.
si j'ai plusieur lignes d'une colonnes qui se suivent et qui sont vide il me
recupère toutes les données comme DBNull.
dans ma table j'ai typé mes colonnes en string. mais ça ne change rien.
lorsqu'il trouve des numéros il me les convertis en DBNull.
Quelqu'un a-t-il déjà eu ce problème?

2 réponses

Avatar
Zazar
Bonjour,

si j'ai plusieur lignes d'une colonnes qui se suivent et qui sont vide il me
recupère toutes les données comme DBNull.



Le driver lit les premières lignes du fichier pour déterminer l e type
des colonnes. Si pour une colonne données, les 1ières lignes on t toutes
une valeur nulle, alors il va déduire que toutes les valeurs sont
nulles. Vous pouvez changer ce comportement avec le paramètre MaxSca nRows :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/h tm/odbcjetschema_ini_file.asp

Cordialement,
--
PRATS Nicolas
Avatar
Flack
En fait la propriété MAXSCANROW n'a pas résolu mon problème car cela lit tout
le fichier mais si dans la colonne il y a une majorité de colonne vide il
mettra tout de même toutes mes valeurs a nulles.
J'ai trouvé par contre sur un forum qu'il fallait utiliser la propriété IMEX=1

ma connection ressemble donc à ça et le problème est résolu

conExcel = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
" & _
"Data source=" &
txtFile.PostedFile.FileName & "; " & _
"Extended Properties=""Excel
8.0;IMEX=1""")


"Zazar" a écrit :

Bonjour,

> si j'ai plusieur lignes d'une colonnes qui se suivent et qui sont vide il me
> recupère toutes les données comme DBNull.

Le driver lit les premières lignes du fichier pour déterminer le type
des colonnes. Si pour une colonne données, les 1ières lignes ont toutes
une valeur nulle, alors il va déduire que toutes les valeurs sont
nulles. Vous pouvez changer ce comportement avec le paramètre MaxScanRows :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcjetschema_ini_file.asp

Cordialement,
--
PRATS Nicolas