0
PowerShell을 사용하여 CSV 파일을 저장하려고하지만이를 수행 할 수 없습니다. 나는 다양한 방법을 시도하고 많은 시간을 보냈지 만 결과 파일을 저장할 수없는 이유를 아직 알 수 없습니다. 다음은 같은 코드 예제입니다.CSV 파일을 저장할 수 없습니다.
$file1 = "C:\Users\vicky\desktop\SourceFile.csv" # CSV Source file
$xl = new-object -c excel.application
$xl.Visible = $true
$xl.DisplayAlerts = $false
$wb=$xl.workbooks.open($file1)
$ws=$wb.worksheets.item("SourceFile") # Sheet name
$ws.activate
$rng = $ws.Cells.Item(1,6).EntireColumn
$rng.select #selecting range
$filterval = "Y"
$xl.selection.AutoFilter(9,$filterval) # Applying filter on 9th column from left of the source file
$ws.SaveAs("C:\Users\vicky\Desktop\newFile.csv") # Save filtered output as newFile
$wb.close()
$xl.quit()
$a= get-process -name EXCEL | select -expand Id # Finding Process Id of Excel
stop-process $a # To kill Excel Process
열에 필터를 적용한 다음 필터링 된 파일을 새 파일 이름으로 저장해야합니다. 필터를 적용 할 수는 있지만 출력을 다른 CSV 파일에 저장할 수 없습니다.
오류가 발생합니까? 그것은 파일을 전혀 생성합니까? 형식이 지정되지 않았기 때문에 Excel에서 파일의 내용을 복구하려고한다는 것을 제외하고 나에게 효과가있는 것 같습니다. 그게 문제 야? – raney
아니요 오류가 표시되지 않습니다. 데이터를 필터링하고 필요한 디스플레이 출력을 잠시 표시하지만 newFile.csv에 저장하지 않으며 newFile.csv의 내용은 Sourcefile.csv의 내용과 동일하게 유지됩니다. – VickyRoch
# $ wb.close() # $ wb.close() 코드의 마지막 네 줄에 주석을 달면 필요한 출력을 볼 수 있습니다. # $ xl.quit() # $ a = get-process -name EXCEL | select -expand Id # stop-process $ a 그러나이 줄을 다시 실행하면 필터링 된 결과가 손실됩니다. – VickyRoch