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

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

求助。想要用批处理提取ecxel表格里其中一列的数据另存为bat文件。不知道能不能实现这样的效果?
比如提取excel表里E列的整列数据另存为一个bat文件。

回复 1# ypzdy


    能否介绍一下这样做的目的是什么?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    工作上需要进行多个图片改名字批量上传。所以我想着能否只双击一个bat文件就能运行所有的批量改名字效果。
我已经弄到这最后一步了。卡在复制我做好的命令到bat里。只要能实现就可以大大的提高我的工作效率。

TOP

回复 3# ypzdy


    请详细描述一下文件改名的规则和要求,一般情况下BAT脚本就足够了,不需要借助Excel的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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();
复制代码

TOP

本帖最后由 netdzb 于 2021-4-16 11:46 编辑

回复 5# went

老师能再写一个vbs的代码吗?
还有怎么全部转存出来?

TOP

  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

TOP

回复 4# Batcher


    命名的规则是这样的。假设我有图片:321.jpg 需要重命名的格式为321&入库单&321库单.jpg
因为一定要改成这样的格式系统才会识别并且保存到对应的入库单里面。

TOP

回复 5# went


    我试试看效果。谢谢老师。

TOP

回复 5# went


    老师您好。我试了下代码。窗口提示语法错误。还有个提示是缺少十六进制数值

TOP

要举实际栗子,并突出规律性。

TOP

回复 11# qixiaobin0715


    命名的規則是這樣的。假設我有圖片:321.jpg 需要重命名的格式為321&入庫單&321庫單.jpg
因為一定要改成這樣的格式系統才會識別並且保存到對應的入庫單裡面。入库单和库单这几个字也是会有变更的。

TOP

图片和所谓的“入库单”、“库单”是如何对应的?

TOP

回复 13# qixiaobin0715


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

然后是需要批量重命名为:
123&入库单&123库单.jpg
332&入库单&332库单.jpg
如此批量若干重命名

TOP

入库单和库单这几个字会如何变更

TOP

返回列表