查看: 10|回复: 0

使用PowerShell将Excel工作表另存为独立文件

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-3-19
发表于 2023-8-9 08:24:46 | 显示全部楼层 |阅读模式

导语

在日常工作中,我们经常需要处理 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.运行脚本。

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

4. 总结

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部