找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 85111|回复: 22

[文件操作] 批处理如何提取ecxel表格一列数据另存为bat文件

[复制链接]
发表于 2021-4-15 11:05:49 | 显示全部楼层 |阅读模式
求助。想要用批处理提取ecxel表格里其中一列的数据另存为bat文件。不知道能不能实现这样的效果?
比如提取excel表里E列的整列数据另存为一个bat文件。
发表于 2021-4-15 19:52:08 | 显示全部楼层
回复 1# ypzdy


    能否介绍一下这样做的目的是什么?
 楼主| 发表于 2021-4-16 09:22:33 | 显示全部楼层
回复 2# Batcher


    工作上需要进行多个图片改名字批量上传。所以我想着能否只双击一个bat文件就能运行所有的批量改名字效果。
我已经弄到这最后一步了。卡在复制我做好的命令到bat里。只要能实现就可以大大的提高我的工作效率。
发表于 2021-4-16 10:24:37 | 显示全部楼层
回复 3# ypzdy


    请详细描述一下文件改名的规则和要求,一般情况下BAT脚本就足够了,不需要借助Excel的。
发表于 2021-4-16 11:39:27 | 显示全部楼层
test.bat ANSI编码
  1. // & cls & cd /d "%~dp0" & @cscript -E:javascript -Nologo "%~0" &pause&exit
  2. var file = 'F:/Desktop/0.xlsx';                                                        //文件名
  3. var col = 5;                                                                                        //提取的列
  4. var out = '0.txt';                                                                                //生成的文件名
  5. var ofs = new ActiveXObject('Scripting.FileSystemObject').CreateTextFile(out,true);
  6. var excel = new ActiveXObject('Excel.Application');
  7. excel.Visible = false;
  8. excel.Application.Workbooks.Open(file);
  9. for(var i=1;i<=excel.Application.ActiveSheet.UsedRange.Rows.Count;i++){
  10.         WSH.Echo(excel.Application.ActiveSheet.Cells(i,col).Text);
  11.         ofs.WriteLine(excel.Application.ActiveSheet.Cells(i,col).Text);
  12. }
  13. excel.Quit();
  14. ofs.Close();
复制代码
发表于 2021-4-16 11:45:32 | 显示全部楼层
本帖最后由 netdzb 于 2021-4-16 11:46 编辑

回复 5# went

老师能再写一个vbs的代码吗?
还有怎么全部转存出来?
发表于 2021-4-16 12:03:06 | 显示全部楼层
  1. // & cls & cd /d "%~dp0" & @cscript -E:javascript -Nologo "%~0" &pause&exit
  2. var file = 'F:/Desktop/0.xlsx';                                                        //文件名
  3. var col = 5;                                                                                        //提取的列
  4. var out = '0.txt';                                                                                //生成的文件名
  5. var ofs = new ActiveXObject('Scripting.FileSystemObject').CreateTextFile(out,true);
  6. var excel = new ActiveXObject('Excel.Application');
  7. excel.Visible = false;
  8. excel.Application.Workbooks.Open(file);
  9. var sheet = excel.Application.ActiveSheet;                //当前工作簿
  10. var totalRow = sheet.UsedRange.Rows.Count;                 //数据总行数
  11. var totalCol = sheet.UsedRange.Columns.Count;         //数据总列数
  12. for(var i=1;i<=totalRow;i++){
  13.         var line = '';
  14.         for(var j=1;j<=totalCol;j++)
  15.                 line += sheet.Cells(i,j).Text + ',';
  16.         WSH.Echo(line);
  17.         ofs.WriteLine(line);
  18. }
  19. excel.Quit();
  20. ofs.Close();
复制代码
回复 6# netdzb
 楼主| 发表于 2021-4-16 13:10:54 | 显示全部楼层
回复 4# Batcher


    命名的规则是这样的。假设我有图片:321.jpg 需要重命名的格式为321&入库单&321库单.jpg
因为一定要改成这样的格式系统才会识别并且保存到对应的入库单里面。
 楼主| 发表于 2021-4-16 13:11:48 | 显示全部楼层
回复 5# went


    我试试看效果。谢谢老师。
 楼主| 发表于 2021-4-16 13:42:19 | 显示全部楼层
回复 5# went


    老师您好。我试了下代码。窗口提示语法错误。还有个提示是缺少十六进制数值
发表于 2021-4-16 13:55:41 | 显示全部楼层
要举实际栗子,并突出规律性。
 楼主| 发表于 2021-4-16 14:07:35 | 显示全部楼层
回复 11# qixiaobin0715


    命名的規則是這樣的。假設我有圖片:321.jpg 需要重命名的格式為321&入庫單&321庫單.jpg
因為一定要改成這樣的格式系統才會識別並且保存到對應的入庫單裡面。入库单和库单这几个字也是会有变更的。
发表于 2021-4-16 14:13:57 | 显示全部楼层
图片和所谓的“入库单”、“库单”是如何对应的?
 楼主| 发表于 2021-4-16 14:24:35 | 显示全部楼层
回复 13# qixiaobin0715


    对应方式是文件名。场景如下:
文件夹下有很多图片。
有:
123.jpg
332.jpg
若干个

然后是需要批量重命名为:
123&入库单&123库单.jpg
332&入库单&332库单.jpg
如此批量若干重命名
发表于 2021-4-16 14:30:02 | 显示全部楼层
入库单和库单这几个字会如何变更
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 13:26 , Processed in 0.020865 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表