【发布时间】:2017-07-31 12:47:32
【问题描述】:
下午好,
是否可以使用带有不同分隔符的 Powershell 保存 CSV 文件,在我的例子中是“§”。我正在使用以下脚本打开和更改 XLSX 文件中的项目,然后希望另存为“§”分隔的 CSV。查找和替换方法在我的情况下不起作用( (Get-Content -Path $CSVfile).Replace(',','§') | 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()
【问题讨论】:
-
看起来最简单的方法是使用所需的分隔符通过对
Range.TextToColumnsmethod 的有效 noop 调用来修改“上次使用”分隔符
标签: excel powershell csv delimiter