我从我发现的将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()
}
答案 0 :(得分:2)
您可以使用内置的Delete()
方法。 EntireRow
property可以使用此功能,Range
object是<{3}}的一部分。
变化:
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)
}