Convert excel en csv avec -> Microsoft.ACE.OLEDB.12.0 ?
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:
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:
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,