В настоящее время я написал скрипт powershell, чтобы переместить первый столбец вниз на одну строку, а затем вырезать и вставить последнее значение первого столбца в самый верх.К сожалению, скрипт, который я написал, использовал comObject.У меня возникли проблемы с преобразованием его в PSExcel.Кто-нибудь мне поможет?
# OPEN CSV
$csv = 'C:\Users\xxx\Desktop\xxx Playground\20180720-Name-Num-Location-0001.csv'
$path = 'C:\Users\xxx\Desktop\xxx Playground\'
$pathdone = 'C:\Users\xxx\Desktop\xxx Playground\done'
$sheetName = "20180720-Name-Num-Location-0001"
# Open the Excel document and pull in the 'Play' worksheet
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $false
$WorkBook = $objExcel.Workbooks.Open($csv)
$WorkSheet = $WorkBook.sheets.item($sheetName)
# Displays the amount of Rows + Columns
$WorksheetRange = $workSheet.UsedRange
$RowCount = $WorksheetRange.Rows.Count
$ColumnCount = $WorksheetRange.Columns.Count
Write-Host "RowCount:" $RowCount
Write-Host "ColumnCount:" $ColumnCount
# Selects range to cut + Paste, also adds + 1 to total rows.
$range1="A1:A$RowCount"
$range2="A2:A$RowCount"
$rangeadd=1+$RowCount
$range4="A1:A1"
Write-Host "Rangeadd:" $rangeadd
$range5="A$rangeadd:A$rangeadd"
Write-Host "Range5:" $range5
#Selects whole column one, cuts and pastes down one row.
$range = $WorkSheet.Range($range1).Cut()
$rangepaste = $WorkSheet.Range($range2).Select()
$WorkSheet.Paste()
#Selects very last cell in column one, pastes in very first cell.
$range3 = $WorkSheet.Range($range5).Cut()
$rangepaste2 = $WorkSheet.Range("A1:A1").Select()
$WorkSheet.Paste()
# Save and close Workbook
$WorkBook.Save()
$WorkBook.close($true)
$objExcel.Quit()
spps -n excel