[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何提取xls工作表名称?

如何用批处理命令提取Excel表格里多个工作表的名称,输出到txt中?

本帖最后由 yhcfsr 于 2021-5-30 17:19 编辑
  1. #&cls&@powershell -v 2 -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause&exit
  2. #用户设置
  3. $src_dir = './'; #源目录
  4. $txt = './输出.txt'
  5. #==============================================================
  6. $files = Get-ChildItem -Path './' -Filter '*.xls' -Recurse
  7. $xl=New-Object -ComObject Excel.Application
  8. $xl.Visible = $false
  9. $xl.displayAlerts = $false
  10. [System.Collections.ArrayList] $ret=@()
  11. foreach($file in $files)
  12. {
  13.     $wb=$xl.workbooks.open($file.FullName,3)#打开表格
  14.     $sheets = $wb.worksheets
  15.     [void]$ret.Add($file.FullName)
  16.     for($i=1;$i -le $sheets.Count;$i++)
  17.     {
  18.         [void]$ret.Add($sheets.Item($i).Name)
  19.     }
  20.     $xl.Workbooks.close()
  21. }
  22. $xl.Quit()
  23. $xl = $null
  24. [GC]::Collect()
  25. Out-File -FilePath $txt -InputObject $ret -Encoding default
复制代码
1. 根据实情修改用户设置
2.保存为bat,执行
3.实用于WIN7 及以上系统
QQ 33892006

TOP

返回列表