2016-09-15 119 views
0

我是Powerscript的新手,並且正在編寫一個解決方案來循環訪問excel文件併爲文件中的每一行創建一個文件夾。創建Powershell腳本以遍歷excel文件並創建文件夾

此刻,我有以下幾點:

$objExcel = new-object -comobject excel.application 

$objExcel.Visible = $True 

$ExcelFilesLocation = 「D:\Users\」 

$UserWorkBook = $objExcel.Workbooks.Open($ExcelFilesLocation + 「ProjectCodes.xlsx」) 

$UserWorksheet = $UserWorkBook.Worksheets.Item(1) 

$intRow = 2 

Do { 

$Projectcode = $UserWorksheet.Cells.Item($intRow, 1).Value() 

$pos = $userLogOnEmail.IndexOf(「@」) 

      $intRow++ 

      } While ($UserWorksheet.Cells.Item($intRow,1).Value() -ne $null) 

$objExcel.Quit() 

$a = Release-Ref($UserWorksheet) 

$a = Release-Ref($UserWorkBook) 

$a = Release-Ref($objExcel) 

的想法是遍歷每行的項目代碼列。然後創建一個爲項目代碼命名的文件夾。

+1

哪裏是你創建文件夾的地方?你面對的**具體**問題是什麼? – gms0ulman

+0

這就是我堅持的問題 – user3565164

回答

0

要創建一個新的目錄,使用New-Item

例如,假設$Projectcode是包含一個有效的路徑的字符串:

New-Item -Path $Projectcode -Type Directory 
0

在花痛苦的時間鬧得不可開交的Excel COM PowerShell的對象,我的建議是放棄! Office COM對象令人困惑,笨拙和緩慢。

用更好的東西替換您用於在PowerShell中訪問Excel的技術。例如,該模塊:https://github.com/dfinke/ImportExcel。如果您使用PS 5,則可以使用Install-Module ImportExcel -Scope CurrentUser

除了更易於使用和更快速以外,它不需要安裝Excel,因此可以使最終腳本更加便於攜帶。

總而言之,你並沒有得到這個模塊的完整的Excel功能,但由於你看起來只是讀取單元格,你應該沒問題。

或者,將Excel文件另存爲CSV,然後使用Import-Csv

相關問題