【发布时间】:2015-01-18 15:18:31
【问题描述】:
我在 Powershell 中将报告导出为 CSV,并且我被要求在标题行上方提供三行标题信息、报告日期等。
如果我导出为 CSV,即$reportdata | export-csv -notypeinformation fooreport.csv,然后在记事本中手动添加标题行,即,
"Title"
"Date of Report - XX-XX-XXXX"
"***Important disclaimer about report***"
"Column1","Column2","Column3", etc
"Data1","Data2","Data3", etc
CSV 报告在 Excel 中打开良好,并且标题和数据行得到适当处理。
但是,当我尝试在 PS 中执行以下操作时,
#Create Report Header
$date = get-date -format "dd MMM yyyy"
$title = @"
"Mailbox Send As, Full Permission and Send on Behalf Report"
"$date"
"***** Important Disclaimer - Only Explicit or Non-Inherited Permissions Are Displayed in this Report *****"
"@
$reportpath = "D:\dev\report.csv"
$rep | export-csv -notypeinformation $reportpath
$temp = gc $reportpath
echo $title > $reportpath
$temp >> $reportpath
CSV 无法在 Excel 中正确打开并且分隔不正确(即,引号和逗号在单元格中可见),即使两个文件在记事本中看起来相同。
有没有一种方法可以在不破坏 CSV 文件完整性的情况下从 Powershell 执行我想要执行的操作?我想知道我是否以某种方式删除了一些表示 CSV 文件中标题行的关键信息 - 因为这两个文件是相同的,我想知道我是否可能缺少隐藏字符或特殊字符?
【问题讨论】:
标签: powershell csv powershell-2.0 powershell-3.0 export-to-csv