excel - 从多个 excel 文件复制工作表并粘贴到新的 xlsx
问题描述
我有一个包含多个 Excel 工作簿的文件夹,每个工作簿都有一个名称相同的选项卡。我想从每个工作簿中复制选项卡并使用 powershell 将它们放入新的 xlsx 中。开始于: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'
解决方案
$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()
推荐阅读
- python - Unable to uninstall locust from system
- paypal - 发出带有细分的修补订单金额 - Paypal Checkout NET SDK
- python - Pyspark - 循环使用 spark.sql 将所有数据标准化
- arduino - avrdude: ser_open(): 无法为 "\\.\COM3" 设置 com 状态
- next.js - 类型错误:defineCall 不是函数。Nextjs 与 Sequelize
- java - 8u265 -> 8u282 升级 - 断管经历不一致
- javascript - Javascript 测试,JEST 和 lodash,模拟每个方法
- cqrs - Axon 框架:表 tokenentry 不存在
- tensorflow - 强制笔记本电脑使用集成显卡,以便 Nvidia GPU 可用于 Ubuntu 20.04 中的 CUDA 计算
- mysql - 在 CTE、mySql 之后插入