使用 PowerShell 将 CSV 导出到 Excel

Rohan Timalsina 2024年2月15日
使用 PowerShell 将 CSV 导出到 Excel

CSV(逗号分隔值)是以表格格式存储数据的纯文本文件。它包含由逗号或其他分隔符(如分号)分隔的数据列表。

CSV 文件具有 .csv 扩展名,可以使用电子表格程序(如 Microsoft Excel)查看。具有 .xlsx 扩展名的文件是 Microsoft Excel 工作表文件。

本教程将教你使用 PowerShell 将 CSV 文件导出到 Excel 文件。

使用 PowerShell 将 CSV 文件导出到 Excel 文件

我们有一个 username.csv 文件,其中数据用分号分隔。当它在 Excel 应用程序中打开时,它以简单的文本格式而不是表格格式显示数据。

csv 文件在 excel 中显示

你可以使用以下 PowerShell 脚本将 CSV 文件转换为 Excel 文件。

脚本:

# Define file locations and delimiter
$csv = "C:\New\username.csv" # source file
$xlsx = "C:\New\output.xlsx" # destination file
$delimiter = ";" # delimiter used in the csv file

# Create a new Excel workbook with one empty sheet
$excel = New-Object -ComObject excel.application
$workbook = $excel.Workbooks.Add(1)
$worksheet = $workbook.worksheets.Item(1)

# Build the QueryTables.Add command and reformat the data
$TxtConnector = ("TEXT;" + $csv)
$Connector = $worksheet.QueryTables.add($TxtConnector,$worksheet.Range("A1"))
$query = $worksheet.QueryTables.item($Connector.name)
$query.TextFileOtherDelimiter = $delimiter
$query.TextFileParseType = 1
$query.TextFileColumnDataTypes = ,1 * $worksheet.Cells.Columns.Count
$query.AdjustColumnWidth = 1

# Execute & delete the import query
$query.Refresh()
$query.Delete()

# Save & close the Workbook as XLSX
$Workbook.SaveAs($xlsx,51)
$excel.Quit()

输出:

True

数据被导出到一个新的 output.xlsx 文件的指定位置。如果你打开 output.xlsx 文件,你将看到以表格格式排列的单元格中的数据。

导出 csv 到 excel 文件

使用上述脚本将大型分隔 CSV 文件转换为 Microsoft Excel 工作表 (xlsx)。希望本文能帮助你了解如何使用 PowerShell 将 CSV 文件导出到 Excel。

作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相关文章 - PowerShell Export