Excel Powershell - PullRequest
       0

Excel Powershell

2 голосов
/ 26 февраля 2020

Мне нужен сценарий Excel PowerShell, который объединяет данные из нескольких листов нескольких документов Excel. По сути, у меня есть папка с более чем 100 файлами Excel, каждый из которых содержит 10 листов данных. Мне нужно собрать данные с двух листов каждого файла Excel и поместить их в один файл Excel в виде прямого списка.

Все, что мне удалось сделать, - это получить конкретную c информацию из одного лист, затем скопируйте весь другой лист и наложите на этот указанный c кусок информации, которую я схватил. Мне нужна помощь отсюда; Я застрял.

Вот сценарий:

    #Open excel, show the program, go to filepath with source files
$ExcelObject=New-Object -ComObject excel.application
$ExcelObject.visible=$true
$ExcelFiles=Get-ChildItem -Path $("C:\Users\kpaul\Documents\Webroot Reporting\Runs\20200225T1629219445554Z\Output")

#add sheet, set general row values for grabbing the appropriate information later
$Workbook=$ExcelObject.Workbooks.add()
$Worksheet=$Workbook.Sheets.Item("Sheet1")
$setrow = 6
$setcol = 1
$setrow2 = 2
$setcol2 = 1

<#
Do this for each file
Grab information from a different sheet, save it, go to the next sheet and copy that entire sheet to the merged file
then replace some information from the merged file with the saved information
#>
foreach($ExcelFile in $ExcelFiles){

$excel=$ExcelObject.Workbooks.Open($ExcelFile.FullName)
#go to "site" sheet in source file and save the site name
$sheet=$excel.sheets.item('Site')
$SetSiteName = $sheet.Cells.Item($setrow,$setcol)
#Go to "endpoints" sheet in the source file and copy over information, insert the saved name
$sheet=$excel.sheets.item('Endpoints')
$sheet.Cells.Item($setrow2,$setcol2) = $SetSiteName

$sheet.Copy($Worksheet)

$excel.Close($false) 
}

#save merged file
$Workbook.SaveAs("C:\Users\kpaul\Desktop\MergedWebrootReport\AllSiteEnpoints.xlsx")
$ExcelObject.Quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...