2016-09-15 121 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

相关问题