繁体   English   中英

创建Powershell脚本以循环浏览excel文件并创建文件夹

[英]Creating Powershell script to loop through excel file and create folders

我是Powerscript的新手,正在寻找编写解决方案以遍历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)

想法是循环浏览每一行的项目代码列。 然后创建一个以项目代码命名的文件夹。

要创建新目录,请使用New-Item

例如,假设$Projectcode是包含有效路径的字符串:

New-Item -Path $Projectcode -Type Directory

花了很多时间用PowerShell处理Excel COM对象后,我的建议是放弃! Office COM对象令人困惑,笨拙且缓慢。

用更好的东西替换您在PowerShell中访问Excel所使用的技术。 例如,此模块: https : //github.com/dfinke/ImportExcel 如果使用的是PS 5,则可以使用Install-Module ImportExcel -Scope CurrentUser

除了更易于使用和更快之外,它不需要安装Excel,从而使最终脚本更易于移植。

诚然,您没有使用此模块获得完整的Excel功能,但是由于您似乎只需要读取单元格,就可以了。

或者,将Excel文件另存为CSV,然后改用Import-Csv

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM