我正在尝试使用PowerShell将csv文件转换为excel。我从另一篇文章得到了一些帮助,脚本运行,但输出是一个空白的xlsx文件。
有人可以帮忙吗?
这是powershell脚本
param (
[Parameter(Mandatory=$true)][string]$inputfile,
[Parameter(Mandatory=$true)][string]$outputfile
)
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$wb = $excel.Workbooks.Add()
$ws = $wb.Sheets.Item(1)
$ws.Cells.NumberFormat = "@"
write-output "Opening $inputfile"
$i = 1
Import-Csv $inputfile | Foreach-Object {
$j = 1
foreach ($prop in $_.PSObject.Properties)
{
if ($i -eq 1) {
$ws.Cells.Item($i, $j) = $prop.Name
} else {
$ws.Cells.Item($i, $j) = $prop.Value
}
$j++
}
$i++
}
$wb.SaveAs($outputfile,51)
$wb.Close()
$excel.Quit()
write-output "Success"
然后我正在运行以下命令
。\ csv_to_excel.ps1 -inputfile“C:\ Scripts \ testcsv.csv”-outputfile“C:\ Scripts \ data.xlsx”
此外,如果有人有使用Import Excel powershell模块的经验并且有某种指导,我也会很感激。
由于
答案 0 :(得分:4)
要使用PowerShell 5或安装了PSGet的较低版本的计算机上的Doug Finke使用Excel模块:
Install-Module importexcel
Import-CSV $inputfile | Export-Excel $outputfile
$inputfile
和$outputfile
是脚本
答案 1 :(得分:0)
#作为一个简单的方法来格式化为 excel 的例子,只需使用“Export-Excel”
'Get-Service -ComputerName localhost |Select-Object -Property Status,Name,DisplayName|Export-Excel -Path '.\output.xlsx'
#瞧!