使用 PowerShell 將 CSV 匯出到 Excel

Rohan Timalsina 2022年5月16日
使用 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