Excel Powershell

Excel Powershell,excel,powershell,merge,Excel,Powershell,Merge,我需要一个excel PowerShell脚本,该脚本将来自多个excel文档的多个工作表的数据组合在一起。所以基本上我有一个包含100多个excel文件的文件夹,每个文件都有10张数据表。我需要从每个excel文件的两张表中收集数据,并将其放入一个excel文件中的一个直接列表中 我所能做的就是从一张纸上抓取一条特定的信息,然后在另一张纸上复制,然后在我抓取的一条特定的信息上拍打。我需要这里的帮助;我卡住了 以下是脚本: #Open excel, show the program, g

我需要一个excel PowerShell脚本,该脚本将来自多个excel文档的多个工作表的数据组合在一起。所以基本上我有一个包含100多个excel文件的文件夹,每个文件都有10张数据表。我需要从每个excel文件的两张表中收集数据,并将其放入一个excel文件中的一个直接列表中

我所能做的就是从一张纸上抓取一条特定的信息,然后在另一张纸上复制,然后在我抓取的一条特定的信息上拍打。我需要这里的帮助;我卡住了

以下是脚本:

    #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()
#打开excel,显示程序,转到带有源文件的文件路径
$ExcelObject=新对象-ComObject excel.application
$ExcelObject.visible=$true
$ExcelFiles=Get ChildItem-Path$(“C:\Users\kpaul\Documents\Webroot Reporting\Runs\20200225T1629219445554Z\Output”)
#添加图纸,设置常规行值,以便稍后获取适当的信息
$Workbook=$ExcelObject.Workbooks.add()
$Worksheet=$Workbook.Sheets.Item(“Sheet1”)
$setrow=6
$setcol=1
$setrow2=2
$setcol2=1
foreach($ExcelFiles中的$ExcelFiles){
$excel=$ExcelObject.Workbooks.Open($ExcelFile.FullName)
#转到源文件中的“站点”页并保存站点名称
$sheet=$excel.sheets.item('站点')
$SetSiteName=$sheet.Cells.Item($setrow,$setcol)
#转到源文件中的“端点”工作表,复制信息,插入保存的名称
$sheet=$excel.sheets.item('端点')
$sheet.Cells.Item($setrow2,$setcol2)=$SetSiteName
$sheet.Copy($sheet)
$excel.Close($false)
}
#保存合并文件
$Workbook.SaveAs(“C:\Users\kpaul\Desktop\MergedWebrootReport\AllSiteEnpoints.xlsx”)
$ExcelObject.Quit()

您在一篇文章中有多个问题。重新考虑只问一个问题,让结果起作用,然后再问一个新的问题。另外,请查看这些模块——查找模块名称“Excel”——以及它们包含的文档。您是否能够提供一些示例输入和预期输出?