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)
}
我更新了一些我发现的将多张工作表从 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)
}