![](/img/trans.png)
[英]Loop through folders and merge excel files - 1 Excel File, Multiple Worksheets
[英]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)
想法是循环浏览每一行的项目代码列。 然后创建一个以项目代码命名的文件夹。
花了很多时间用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.