Скопируйте листы из нескольких файлов Excel и вставьте в новый xlsx - PullRequest
0 голосов
/ 06 января 2020

У меня есть папка, содержащая несколько книг Excel, каждая из которых имеет вкладку с именем одного и того же. Я хотел бы скопировать вкладку из каждой книги и поместить их в новый xlsx с помощью powershell. Начиная с: 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'

1 Ответ

0 голосов
/ 10 января 2020
$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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...