après-midi tout,Powershell - Excel SaveAs csv avec delimiter spécifié
Est-il possible d'enregistrer un fichier CSV à l'aide Powershell avec un délimiteur différent, dans mon cas "§". J'utilise le script suivant pour ouvrir et modifier des éléments dans un fichier XLSX, puis souhaiter enregistrer en tant que fichier CSV délimité par "§". Rechercher et remplacer méthode ne fonctionne pas dans mon cas ((Get-Content -Path $ CSVfile) .Replacer (' '' §') | Set-Content -Path $ CSVfile2)
$Path = "C:\ScriptRepository\CQC\DataToLoad\"
$FileName = (Get-ChildItem $path).FullName
$FileName2 = (Get-ChildItem $path).Name
$CSVFile = "$Path\$Filename2.csv"
$Excel = New-Object -ComObject Excel.Application -Property @{Visible =
$false}
$Excel.displayalerts=$False
$Workbook = $Excel.Workbooks.Open($FileName)
$WorkSheet = $WorkBook.Sheets.Item(2)
$Worksheet.Activate()
$worksheet.columns.item('G').NumberFormat ="m/d/yyyy"
$Worksheet.Cells.Item(1,3).Value = "Site ID"
$Worksheet.Cells.Item(1,4).Value = "Site Name"
$Worksheet.SaveAs($CSVFile,
[Microsoft.Office.Interop.Excel.XlFileFormat]::xlCSVWindows)
$workbook.Save()
$workbook.Close()
$Excel.Quit()
On dirait que le moyen le plus simple est de modifier le délimiteur "last used" avec un appel noop efficace à la méthode ['Range.TextToColumns'] (https://superuser.com/a/291519/114733) en utilisant le délimiteur désiré –