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() #$ xl.quit() #$ a = get-process -name EXCEL | select -expand Id #stop-process $ a但是,當這些行被帶回到操作中時,過濾後的結果會丟失:( – VickyRoch