我是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)
我们的想法是遍历每一行的项目代码列。然后创建一个以项目代码命名的文件夹。
答案 0 :(得分:0)
答案 1 :(得分:0)
花了几个小时与PowerShell争论Excel COM对象,我的建议是放弃! Office COM对象令人困惑,笨拙且缓慢。
使用更好的方法替换用于在PowerShell中访问Excel的技术。例如,此模块:https://github.com/dfinke/ImportExcel。如果您正在使用PS 5,则可以使用main.js
。
除了更容易使用和更快速之外,它不需要安装Excel,使您的最终脚本更具可移植性。
顺便说一句,你不能通过这个模块获得完整的Excel功能,但是因为你似乎只是阅读单元格,你应该没问题。
或者,将您的Excel文件另存为CSV并改为使用Install-Module ImportExcel -Scope CurrentUser
。