使用 PowerShell 将 Excel 中的每个工作表单独另存为独立的文件

导语:在日常工作中,我们经常需要处理 Excel 文件。本文介绍了如何使用 PowerShell 脚本将一个 Excel 文件中的每个工作表单独另存为独立的 Excel 文件,以提高工作效率。

1. 准备工作

在开始之前,请确保已经安装了 Microsoft Excel 并在 PowerShell 环境中启用了 COM 对象。

2. PowerShell 脚本

下面是执行该操作的 PowerShell 脚本:

bash 复制代码
# 导入 Excel COM 对象
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false

# 打开 Excel 文件
$workbook = $excel.Workbooks.Open("C:\Users\86182\Documents\WeChat Files\wxid_hkpktzc30d1621\FileStorage\File\2023-08\餐饮记分系统情况汇总(2023.8.6).xlsx")

# 遍历每个工作表
foreach ($worksheet in $workbook.Worksheets) {
    # 创建一个新的工作簿
    $newWorkbook = $excel.Workbooks.Add()
    # 将当前工作表复制到新的工作簿
    $worksheet.Copy($newWorkbook.Sheets[1])
    # 保存新的工作簿为独立的文件(以工作表名命名)
    $newFilePath = "C:\delphisource\mytools\mynewtools\output\" + $worksheet.Name + ".xlsx"
    $newWorkbook.SaveAs($newFilePath)
    # 关闭新的工作簿
    $newWorkbook.Close()
}

# 关闭并退出 Excel
$workbook.Close()
$excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null

3. 使用方法

按照以下步骤使用 PowerShell 脚本:

C:\delphisource\mytools\mynewtools\Win64\Debug\mynewtools.exe

  1. 将脚本中的 "C:\path\to\input.xlsx" 替换为要处理的输入 Excel 文件的路径。
  2. 将脚本中的 "C:\path\to\output\" 替换为保存单独工作表的输出文件夹路径。
  3. 打开 PowerShell 终端。
  4. 将脚本粘贴到 PowerShell 终端中。
  5. 运行脚本。

脚本将打开指定的 Excel 文件,遍历每个工作表,并将每个工作表复制到一个新的工作簿中。然后,将新的工作簿保存为独立的 Excel 文件,文件名以工作表名命名,并保存在指定的输出文件夹中。

4. 总结

使用 PowerShell 脚本将 Excel 中的每个工作表单独另存为独立的文件可以大大提高处理大量工作表的效率。通过简单的准备工作和运行脚本,您可以轻松地将一个 Excel 文件拆分为多个独立的文件,以满足不同的需求。

希望本文对您在处理 Excel 文件时提供了帮助,让您的工作更加高效!如果您对 PowerShell 脚本有任何疑问或建议,请随时在下方留言。谢谢阅读!

相关推荐
专注VB编程开发20年4 天前
C#教程之NPOI读写excel文件XLS,XLSX格式
数据库·microsoft·c#·excel·xlsx·xls
肖恩部落16 天前
Excel: xls与xlsx格式转换排坑指南
excel·xlsx·xls
点云SLAM1 个月前
Windows CMD(命令提示符)中最常用的命令汇总和实战示例
windows·microsoft·visual studio·powershell·cmd命令提示符·bat文件·win环境批处理
等不到来世1 个月前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1
npm·powershell
Ronin-Lotus1 个月前
上位机知识篇---Prompt&PowerShell Prompt
prompt·powershell
Мартин.1 个月前
Operation Blackout 2025: Smoke & Mirrors
powershell
墨雪遗痕2 个月前
中文Windows系统下程序输出重定向乱码问题解决方案
rust·编码·powershell
粉色挖掘机2 个月前
PowerShell批量处理文件名称/内容的修改
powershell
noravinsc2 个月前
powershell 获取 用户及进程列表
windows·powershell
struggle20252 个月前
LazyOwn RedTeam/APT 框架是第一个具有人工智能驱动的 C&C 的 RedTeam 框架
c语言·开发语言·python·html·powershell