使用PowerShell将整个工作表复制到另一个工作表

问题描述 投票:0回答:1

已经有一些帖子关于如何复制 - 移动一个WS或复制一些范围,但我感兴趣的是如何将整个WS作为值复制到另一个工作簿中已经存在的WS中。这是我试过的:

$obj_excel = New-Object -ComObject Excel.Application
$obj_excel.DisplayAlerts = $false # don't prompt the user
# Open source and target files
$wb_source = $obj_excel.Workbooks.Open($SourceFile, $null, $true) # open source, readonly
$wb_target = $obj_excel.Workbooks.Open($TargetFile) # open target
[void]$wb_target.Sheets.Item($TargetSheet).Copy()
[void]$wb_source.Sheets.Item($SourceSheet).PasteSpecial(-4163)
$wb_source.Close($false) # close source workbook w/o saving
$wb_target.Close($true) # close and save destination workbook
$obj_excel.Quit()

它显然不起作用。

excel powershell copy
1个回答
0
投票

如果您只想复制内容,则无法使用Copy()对象的Worksheet方法。使用Copy()对象的Range方法(特别是Cells集合):

$wb_source.Sheets.Item($SourceSheet).Cells.Copy()
$wb_target.Sheets.Item($TargetSheet).Cells.PasteSpecial(-4163)
© www.soinside.com 2019 - 2024. All rights reserved.