【发布时间】:2021-08-16 08:31:33
【问题描述】:
我看到这种类型的问题被问了很多次,但在 Powershell 中却没有,也找不到答案,所以...
我正在使用以下代码将 XLSX 文件转换为 CSV:
$sheet = "SHEET1"
$xls = "C:\temp\XLSX.xlsx"
$csv = "C:\temp\CSV.csv"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $False
$objExcel.DisplayAlerts = $False
$WorkBook = $objExcel.Workbooks.Open($xls)
$WorkSheet = $WorkBook.sheets.item("$Sheet")
$xlCSV = 6
$WorkSheet.SaveAs($csv,$xlCSV)
$objExcel.quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel)
这种转换工作正常,除了日期。 XLSX 文件包含格式为 dd/MM/yyyy 的日期,但是在上面的代码将我的工作表保存为 CSV 之后,这些日期最终的格式为 M/d/yyyy。当我导入我的 CSV 并执行脚本的其余部分时,这当然会导致问题。许多日期也变成“不被识别为有效的日期时间”。
我可以在代码中添加一些内容,以便这些日期保持相同的格式吗?
【问题讨论】:
标签: powershell