使用 PowerShell 將 CSV 匯出到 Excel
Rohan Timalsina
2022年5月16日
CSV(逗號分隔值)是以表格格式儲存資料的純文字檔案。它包含由逗號或其他分隔符(如分號)分隔的資料列表。
CSV 檔案具有 .csv
副檔名,可以使用電子表格程式(如 Microsoft Excel)檢視。具有 .xlsx
副檔名的檔案是 Microsoft Excel 工作表檔案。
本教程將教你使用 PowerShell 將 CSV 檔案匯出到 Excel 檔案。
使用 PowerShell 將 CSV 檔案匯出到 Excel 檔案
我們有一個 username.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 檔案轉換為 Microsoft Excel 工作表 (xlsx)。希望本文能幫助你瞭解如何使用 PowerShell 將 CSV 檔案匯出到 Excel。
Author: Rohan Timalsina