Bonjour à tous, j'ai un soucis pour extraire les données contenues dans un fichier excel.
Bon problème est que j'ai des cellules dans le format sous excel est Heure.
Le problème est que suite a cette extraction les cellules avec la valeur 00:00:00 deviennent 12:00:00.
Voici lle code que j'utilise :
Le contenu de la procedure ExtractExcelData :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m_strSQLStringCommandOld = "Select F1,F11 from [total activities$]" ExtractExcelData(m_strFlightSourcePath,m_strSQLStringCommandOld,"All",m_FlightDataSet,False)
En fait je pense que cela provient de la requete utilisée, mais je ne vois pas comment faire pour que 00:00:00 reste 00:00:00
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public sub ExtractExcelData(byval p_strExcelFilePath as string, byval p_strSQLCommand as String, byval p_strExtractName as string, byval p_DataSet as DataSet, optional byval p_blnHDRValue as Boolean = True) dim l_Commande as OleDb.OleDbDataAdapter Dim l_XLSConnection As OleDb.OleDbConnection Windows.Forms.Cursor.Current = Cursors.WaitCursor l_XLSConnection = New OleDb.OleDbConnection("provider=Microsoft.Jet.OleDB.4.0;" & _ " data source='" & p_strExcelFilePath & "'; Extended Properties=""Excel 8.0;" & iif(p_blnHDRValue,"HDR=YES;", "HDR=NO;") & "IMEX=1;""")' l_Commande = New OleDb.OleDbDataAdapter(p_strSQLCommand, l_XLSConnection) l_Commande.TableMappings.Add("Table", p_strExtractName) l_Commande.Fill(p_DataSet) l_XLSConnection.Close l_XLSConnection = Nothing l_Commande = Nothing Windows.Forms.Cursor.Current = Cursors.Default End Sub
J'ai tenter de mettre un cast dans le select de ma requête, mais j'ai obtenue une erreur :
D'où ma demande de coup de main.m_strSQLStringCommandOld = "Select F1,cast(F11 as char(8)) from [total activities$]"
System.Data.OleDb.OleDbException
Échec de IErrorInfo.GetDescription avec E_FAIL(0x80004005)
PS : Je ne peux pas vous montrer le fichier excel en question car il s'agit de données confidentielle ...
Partager