Bonjour,

J'ai des colonnes en double dans mon fichiers excel et cela pose un problème pour faire le convert en csv de plus les colonnes que j'aimerais prendre se trouvent sur la deuxième lignes

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
22
23
    $strFileName = "C:\MonfichierExcel.xlsm"
    $strSheetName = 'SheetName'
    $strProvider = "Provider=Microsoft.ACE.OLEDB.12.0"
    $strDataSource = "Data Source = $strFileName"
    $strExtend = "Extended Properties='
Excel 12.0;HDR=Yes;IMEX=1';"


    $strQuery = "Select * from [$strSheetName]"




    $objConn = New-Object System.Data.OleDb.OleDbConnection("$strProvider;$strDataSource;$strExtend")
    $sqlCommand = New-Object System.Data.OleDb.OleDbCommand($strQuery)
    $sqlCommand.Connection = $objConn
    $objConn.open()


    $da = New-Object system.Data.OleDb.OleDbDataAdapter($sqlCommand)
    $dt = New-Object system.Data.datatable
    [void]$da.fill($dt)

Et mon fichier Excel ressemble a :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
-------------------------------------------------------------------------------------------------
Titre zone 1                      - Titre zone 2                      - Titre zone 3                      -
-------------------------------------------------------------------------------------------------
Name - Titre - Zone           - Name - Titre - Zone            - Host
J'aimerais exclure la ligne 1 ou se trouve les "titres zone" et prendre toutes les valeurs se trouvant en dessous de "Name", "Titre", et "Zone" (en gros les champs 1, 2 et 3 de la ligne 2 et ne pas prendre le reste)

Pourriez vous me dire si cela est possible avec OLEDB ?

En vous remerciant d'avance,