【问题标题】:Powershell command to convert CSV file to xlsxPowershell命令将CSV文件转换为xlsx
【发布时间】:2018-05-04 10:40:03
【问题描述】:

我在一个目录中有许多 csv 格式的文件,例如 20-30。我想使用 powershell 将它们转换为 xlsx 格式。请提供脚本,因为我是这方面的初学者。

somw 我在网上找到了一次只转换一个文件的 powershell 脚本。请帮助一次性转换所有内容。

【问题讨论】:

    标签: excel powershell csv command


    【解决方案1】:

    您应该能够获取您在网上找到的那个 powershell 脚本,并为您找到的每个 csv 文件每次运行它

    假设它们都在一个名为 C:\temp 的目录中 然后你应该能够做类似的事情

    foreach($item in Get-Childitem C:\temp){onlinefunction.ps1 $item}
    

    所以Get-ChildItem 将遍历给定目录并返回一个包含所有文件的对象。您将需要解析和修改它以满足您的需求

    foreach($item... 部分会循环遍历get-childitem 返回的对象,并一一遍历。对于每个 $item,它将运行 onlinefunction.ps1 $item

    希望您找到的脚本足够健壮,可以接受单个输入,否则您将需要使用它

    【讨论】:

    • 嘿.. 感谢您的回复.. 脚本似乎无法正常工作。您能否为我提供满足我要求的新脚本?提前谢谢..
    • 对不起,伙计,我不认为这是那种网站,但是如果您发布您的脚本,我可以尝试指出问题所在。如果您复制粘贴以下代码(很简单),但它可能会帮助您了解输入的工作方式 "param($theinput); write-output $theinput" 。将其保存到 ps1 文件中,然后您应该能够使用单个输入参数调用它并打印出您输入的任何内容。您只需要将相同的原则应用于您已有的脚本。
    • 你能帮我下面的脚本为目录工作 $xl = new-object -comobject excel.application $xl.visible = $true $Workbook = $xl.workbooks.open("$ loglocation\errors_$server.csv") $Worksheets = $Workbooks.worksheets $Workbook.SaveAs("$loglocation\errors_$server.xls",1) $Workbook.Saved = $True $xl.Quit()
    • 请更改由 cristain 提供的脚本来处理批量 csv 文件。因为我是新手,所以我发现改变这个脚本很困难。提前致谢。
    【解决方案2】:

    我最终使用了以下代码:

    $xl = new-object -comobject excel.application
    $xl.visible = $true
    $Workbook = $xl.workbooks.open("$loglocation\errors_$server.csv")
    $Worksheets = $Workbooks.worksheets
    
    $Workbook.SaveAs("$loglocation\errors_$server.xls",1)
    $Workbook.Saved = $True
    
    $xl.Quit()
    

    或使用本教程:

    https://code.adonline.id.au/csv-to-xlsx-powershell/

    问候。

    【讨论】:

    • 感谢 cristain.. 这是我在网上找到的,但它一次只转换一个文件.. 但我需要为目录中的批量 csv 文件执行此操作.. 因为我是新手我发现修改这个脚本很困难。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2013-05-19
    • 1970-01-01
    相关资源
    最近更新 更多