当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中将 CSV 转换为 XLSX [3 种方法]

作者:精品下载站 日期:2024-12-14 05:29:38 浏览:15 分类:玩电脑

在 PowerShell 中将 CSV 转换为 XLSX [3 种方法]


[玩转系统] 在 PowerShell 中将 CSV 转换为 XLSX [3 种方法]

使用以下方法可以轻松地将 csv 文件转换为 xlsx

  • 使用 PSExcel 模块
  • 使用导入Excel模块
  • 使用 Excel.Application COM 对象

在转换文件之前,请确认您的 PowerShell 已在管理模式下打开,并且执行策略未设置为受限

检查执行策略:

Get-ExecutionPolicy

输出 :

Set-ExecutionPolicy Restricted

上面的输出表明执行策略设置为Restricted。因此,如果当前执行策略设置为 Restricted,您可以通过执行以下命令将其修改为 RemoteSigned。请注意,您的执行策略可能已设置为RemoteSigned

检查执行策略:

Set-ExecutionPolicy RemoteSigned
Get-ExecutionPolicy

输出 :

RemoteSigned

将执行策略更改为 RemoteSigned 后,可以使用下面给出的方法将 XLSX 文件转换为 CSV 文件。

使用 PSExcel 模块

要在 PowerShell 中将 CSV 转换为 xlsx:

  • 导入 PSExcel 模块
  • 使用Import-csvcmd读取csv并将其转换为类似表格的自定义对象。
  • 将表(如自定义对象)传输到 Export-Excel 以将其转换为 Excel 文件。

使用 PSExcel 模块:

Import-Module PSExcel
$csvPath = "C:\path\to\file.csv"
$xlsxPath = "C:\path\to\output.xlsx"
$csv = Import-Csv $csvPath
$csv | Export-Excel -Path $xlsxPath -AutoSize
Write-Host "CSV file successfully converted to XLSX file."

首先,我们导入了 PSExcel 模块,该模块可在 PowerShell 中处理 Excel 文件。之后,将 CSVXLSX 文件的路径分别设置为变量 csvPathxlsxPath。然后,Import-Csv$csvPath 指定的 CSV 文件中读取数据,并存储 PowerShell 变量 $csv.

接下来,Export-Excel 命令将数据(存储在 $csv 变量中)转换为 Excel 文件。生成的 Excel 文件保存到 $xlsxPath 指定的路径。接下来,-AutoSize 自动调整列宽以适合数据。最后,屏幕上的消息表明已使用 Write-Host 命令将 CSV 文件成功转换为 XLSX 文件

如果未安装 PSExcel 模块,请使用 Install-Module PSExcel 命令进行安装。

使用 ImportExcel 模块

要在 PowerShell 中将 CSV 转换为 xlsx:

  • 导入ImportExcel模块
  • 使用Import-csvcmd读取csv并将其转换为类似表格的自定义对象。
  • 将表(如自定义对象)传输到 Export-Excel 以将其转换为 Excel 文件。

使用导入Excel模块:

Import-Module -Name ImportExcel
$data = Import-Csv -Path "C:\path\to\file.csv"
$data | Export-Excel -Path "C:\path\to\output.xlsx" -NoHeader

首先,我们使用 Import-Module cmdlet 导入 ImportExcel 模块。然后,我们使用 Import-CSV cmdlet 将 Excel 文件的数据加载到名为 data 的 PowerShell 变量中。我们将路径指定为 csv 文件的位置。

之后,我们使用 Export-Excel cmdlet 将存储在 data 变量中的数据导出到 xlxs 文件,不包含类型信息,并且还给出了文件名以及文件所在的路径。然后打开创建新 xlsx 文件作为输出的指定位置。

使用 Excel.Application COM 对象

要在 PowerShell 中将 CSV 转换为 xlsx:

  • 创建 Excel.Application 类型的对象
  • 使用open()方法将csv文件读入工作簿。
  • 使用 SaveAs() 方法将文件另存为 XLSX

使用 Excel.Application 对象:

$csvFile = "C:\path\to\file.csv"
$xlsxFile = "C:\path\to\output.xlsx"
$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Open($csvFile)
$workbook.SaveAs($xlsxFile, 51)
$workbook.Close()
$excel.Quit()

首先,将源 CSV 文件和目标 xlsx 文件的路径分配给名为 $csvFile$xlsxFile 的 PowerShell 变量> 分别。之后,我们使用 COM 对象创建了 Excel.Application 的新实例。该实例被分配给名为 $excel 的变量。

使用此实例打开工作簿。然后使用带有两个参数的 SaveAs 函数将工作簿另存为 XLSX。第一个参数指定文件的位置,而第二个参数 51 表示文件类型 XLSX。最后,关闭工作簿,并终止 Excel.Application 实例。

这就是如何在 PowerShell 中将 CSV 转换为 XLSX。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯