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

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

1. 准备工作

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

2. PowerShell 脚本

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

# 导入 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. 运行脚本。

使用 PowerShell 将 Excel 中的每个工作表单独另存为独立的文件_第1张图片

 

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

使用 PowerShell 将 Excel 中的每个工作表单独另存为独立的文件_第2张图片

4. 总结

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

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

你可能感兴趣的:(powershell,xlsx,分拆)