从多个excel文件复制工作表并粘贴到新的xlsx中

从多个excel文件复制工作表并粘贴到新的xlsx中,excel,powershell,Excel,Powershell,我有一个文件夹,其中包含多个Excel工作簿,每个工作簿都有一个名为相同内容的选项卡。我想复制每个工作簿中的选项卡,并使用powershell将它们放入新的xlsx中。 从:20本有“sheet1”的工作簿开始 所需结果:1个包含20个“sheet1”选项卡的工作簿。 这是我开始的代码,但我不确定我是否在正确的轨道上。无论我的用户名是什么,我都是powershell的新手。通过下面的代码,我可以将工作表从xlsx复制到新的xlsx中。如何从多个xlsx复制喜欢的命名表并将其放入新的xlsx Co

我有一个文件夹,其中包含多个Excel工作簿,每个工作簿都有一个名为相同内容的选项卡。我想复制每个工作簿中的选项卡,并使用powershell将它们放入新的xlsx中。 从:20本有“sheet1”的工作簿开始 所需结果:1个包含20个“sheet1”选项卡的工作簿。 这是我开始的代码,但我不确定我是否在正确的轨道上。无论我的用户名是什么,我都是powershell的新手。通过下面的代码,我可以将工作表从xlsx复制到新的xlsx中。如何从多个xlsx复制喜欢的命名表并将其放入新的xlsx

Copy-ExcelWorksheet -SourceWorkbook ('c:\users\user1\test.xlsx') -SourceWorksheet 'Sheet1' -DestinationWorksheet Sheet1 -DestinationWorkbook 'c:\users\user1\test2.xlsx'

我发现ImportExcel模块非常有用<代码>查找模块-名称导入cel
$ExcelObject=New-Object -ComObject excel.application
$ExcelObject.visible=$false
$ExcelFiles=Get-ChildItem -Path C:\Users\user1

$Workbook=$ExcelObject.Workbooks.add()
$Worksheet=$Workbook.Sheets.Item('Sheet1')

foreach($ExcelFile in $ExcelFiles){

$Everyexcel=$ExcelObject.Workbooks.Open($ExcelFile.FullName)
$Everysheet=$Everyexcel.sheets.item('Sheet1')
$Everysheet.Copy($Worksheet)
$Everyexcel.Close()

}
$Workbook.Saveas("C:\Users\user1\test.xlsx")
$ExcelObject.Quit()