PowerShell 合并excel


#设计思路,新建一个excel,将打开的excel表复制到新excel并关闭,继续下一个,一直到结束。
#版本要求 最低Excel 2013。10版本的默认需要删除3个表

$xl=New-Object -ComObject excel.application
$xl.visible=$false
$xl.AlertBeforeOverwriting=$false
$xl.DisplayAlerts=$false
$files=Get-ChildItem -Path d:\Report #存放excel文件的目录,可以做成弹出文件夹选择的模式。
$wb_dst=$xl.Workbooks.add()
$ws_dst=$wb_dst.Sheets.Item("Sheet1")
$Type_Missing=[System.Type]::Missing #若copy需要在某个之后,则copy第一个参数需要type missing

Write-Host "开始合并-----------------------------------------------" -ForegroundColor DarkCyan
foreach($file in $files){

$wb=$xl.Workbooks.Open($file.FullName)
$ws=$wb.sheets.item(1)
$ws.Copy($ws_dst)
$wb.Close()

}
$ws_dst.Delete() #删除默认的excel表
$wb_dst.SaveAs("D:\report.xlsx") #汇总存放的目录及文件名
$xl.Quit()
Write-Host "合并结束------------------------------------------" -ForegroundColor DarkYellow
本文链接: http://www.pstips.net/powershell-merge-excel.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

电子邮件地址不会被公开。 必填项已用*标注