我需要将xlsx文件隐藏到csv,确保值以双引号引用。
到目前为止,我已经对它进行了研究,到目前为止,我已经测试了这一点,代码没有做的是引用双引号中的值。
Function ExcelToCsv ($File) {
$myDir = "C:\temp\"
$excelFile = "$myDir\" + $File + ".xlsx"
$Excel = New-Object -ComObject Excel.Application
$wb = $Excel.Workbooks.Open($excelFile)
foreach ($ws in $wb.Worksheets) {
$ws.SaveAs("$myDir\" + $File + ".csv", 62)
}
$Excel.Quit()
}
$FileName = "test_file"
ExcelToCsv -File $FileName
最后的输出应该如下所示。
Name,CompanyName
"Joe Bloggs","Contoso Company"
发布于 2022-07-28 11:01:58
这不是最优雅的解决方案,但我首先使用ImportExcel
模块导入Excel,然后:
$Excel = Import-Excel .\exceltocsv.xlsx
$Excel | Export-Csv converted.csv
$Content = Get-Content .\converted.csv
$Content[0] = $Content[0] -replace '"',''
$Content | Out-File .\converted.csv
输出:
Column1,Column2
"Some Value","Something else"
请注意,Out-File
留下了一条尾行。
https://stackoverflow.com/questions/73151100
复制相似问题