PowerShell 导出到 CSV 偏移行

PowerShell export to CSV offset rows

我更新了一些我发现的将多张工作表从 Excel 文件导出到 CSV 文件的代码。我需要在没有前 6 行的情况下导出。它们都具有相同的格式。

在哪里可以为每个选项卡应用偏移量?

function ExportWSToCSV {
    Param(
        [Parameter(Position=0, Mandatory=$true)] [string]$excelPath,
        [Parameter(Position=1, Mandatory=$true)] [string]$excelFileName,
        [Parameter(Position=2, Mandatory=$true)] [string]$excelFormat,
        [Parameter(Position=3, Mandatory=$true)] [string]$csvPath
    )

    Write-Output "Your cvs files are located " $csvPath

    $excelFile= $excelPath + $excelFileName + $excelFormat
    $E = New-Object -ComObject Excel.Application
    $E.Visible = $false
    $E.DisplayAlerts = $false
    $wb = $E.Workbooks.Open($excelFile)
    foreach ($ws in $wb.Worksheets) {
        $n = $excelFileName + "_" + $ws.Name
        $ws.SaveAs($csvPath + $n + ".csv", 6)
    }
    $E.Quit()
}

您可以使用内置的 Delete() 方法。 EntireRow property, which is part of the Range object.

可用

变化:

foreach ($ws in $wb.Worksheets) {
    $n = $excelFileName + "_" + $ws.Name
    $ws.SaveAs($csvPath + $n + ".csv", 6)
}

收件人:

foreach ($ws in $wb.Worksheets) {
    $ws.range("A1:A6").EntireRow.Delete()
    $n = $excelFileName + "_" + $ws.Name
    $ws.SaveAs($csvPath + $n + ".csv", 6)
}