使用 PowerShell 从 Excel 中获取数据并将其写入 CSV 文件的步骤如下:
Import-Module
命令导入 Excel
模块,以便能够使用 Excel 相关的命令和功能:Import-Module
命令导入 Excel
模块,以便能够使用 Excel 相关的命令和功能:New-Object
命令创建 Excel 应用程序对象,并将其赋值给变量 $excel
:New-Object
命令创建 Excel 应用程序对象,并将其赋值给变量 $excel
:$excel.Visible = $false
将 Excel 应用程序设为不可见,以避免在执行过程中打开 Excel 窗口:$excel.Visible = $false
将 Excel 应用程序设为不可见,以避免在执行过程中打开 Excel 窗口:$workbook = $excel.Workbooks.Open
命令打开 Excel 文件,并将其赋值给变量 $workbook
:$workbook = $excel.Workbooks.Open
命令打开 Excel 文件,并将其赋值给变量 $workbook
:$worksheet = $workbook.Sheets.Item(1)
命令选择要操作的工作表,并将其赋值给变量 $worksheet
。这里的 Item(1)
表示选择第一个工作表,如果需要选择其他工作表,请更改对应的数字。$worksheet = $workbook.Sheets.Item(1)
命令选择要操作的工作表,并将其赋值给变量 $worksheet
。这里的 Item(1)
表示选择第一个工作表,如果需要选择其他工作表,请更改对应的数字。$range = $worksheet.UsedRange
命令获取工作表中的已使用区域,并将其赋值给变量 $range
:$range = $worksheet.UsedRange
命令获取工作表中的已使用区域,并将其赋值给变量 $range
:$data = @()
创建一个空数组,用于存储从 Excel 中读取的数据。for
循环遍历 Excel 中的每一行,将每一行的数据读取到数组 $data
中:for
循环遍历 Excel 中的每一行,将每一行的数据读取到数组 $data
中:$data | Export-Csv
命令将数据数组 $data
写入到 CSV 文件:$data | Export-Csv
命令将数据数组 $data
写入到 CSV 文件:完整的 PowerShell 脚本如下:
Import-Module -Name Excel
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$workbook = $excel.Workbooks.Open("路径\文件名.xlsx")
$worksheet = $workbook.Sheets.Item(1)
$range = $worksheet.UsedRange
$data = @()
for ($row = 1; $row -le $range.Rows.Count; $row++) {
$rowData = @()
for ($column = 1; $column -le $range.Columns.Count; $column++) {
$cellValue = $range.Item($row, $column).Text
$rowData += $cellValue
}
$data += $rowData
}
$data | Export-Csv -Path "路径\输出文件名.csv" -NoTypeInformation
$workbook.Close($false)
$excel.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($worksheet) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($workbook) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel) | Out-Null
在使用该脚本时,请确保已安装并加载了 Excel 模块。如果未安装该模块,可以通过 Install-Module
命令进行安装:
Install-Module -Name ImportExcel
该脚本将从指定路径的 Excel 文件中读取数据,并将数据写入到指定路径的 CSV 文件中。
领取专属 10元无门槛券
手把手带您无忧上云