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

[文本处理] BAT脚本怎样取提xlsx格式文件最后一行合并成新文件?

[复制链接]
发表于 2023-3-18 09:00:01 | 显示全部楼层 |阅读模式
有多个.xlsx格式一样的的文件,想做个BAT把所有.xlsx文件最后一行的数据,复制且合并起来存成一个新的.xlsx
发表于 2023-3-18 10:44:13 | 显示全部楼层
本帖最后由 jyswjjgdwtdtj 于 2023-3-18 10:46 编辑

bat不太可能
如果不是xls二十csv到是可以
发表于 2023-3-18 10:53:56 | 显示全部楼层
试试这个。
  1. @echo off
  2. setlocal EnableDelayedExpansion

  3. set "input_file=test.xlsx"
  4. set "output_file=result.xlsx"

  5. :: Extract the last row from input file
  6. for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%input_file%"') do (
  7.     set "last_line=%%b"
  8. )

  9. :: Create a new file with extracted last row
  10. echo !last_line! > "%output_file%"
复制代码
在上面的代码中,您需要将input_file变量设置为您要从其中提取最后一行的xlsx文件的名称,并将output_file变量设置为要将提取的最后一行复制到的新文件的名称。

该脚本使用findstr命令在输入文件中查找行号,并将结果存储在last_line变量中。然后,它将提取的最后一行复制到新文件中。

请注意,此脚本仅限于提取文本数据而不包含任何Excel文件中可能存在的格式化或公式。如果您需要保留格式和公式,请考虑使用专业的Excel库或工具来完成此任务。
发表于 2023-3-18 10:57:51 | 显示全部楼层
本帖最后由 jyswjjgdwtdtj 于 2023-3-18 10:59 编辑

回复 3# cbbos


    啊 兄弟 xlsx是二进制文件欸!
csv才是文本文件!
照你这么说是不是xlsx的格式是这样
        1        2        3        4        5        6
1        bala        lava                                gala
2        xx        jj        kk        ll        bb        nn
3        iji        bnb                                njn
?
发表于 2023-3-18 15:31:00 | 显示全部楼层
需要先安装ImportExcel模块,具体的方法百度搜下吧
然后直接在powershell里执行
  1. Import-Module ImportExcel
  2. $a=dir *.xlsx|%{(Import-Excel -Path $_.FullName -NoHeader)[-1]}
  3. Export-Excel -Path "./result.xlsx" -InputObject $a -NoHeader
复制代码
发表于 2023-3-18 18:48:40 | 显示全部楼层
本帖最后由 jyswjjgdwtdtj 于 2023-3-18 18:51 编辑

vbs可以不用安装其他东西(ps应该也可以调用com吧)
前提是你的电脑里有office或者wps
可惜我没怎么用过excel……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 04:00 , Processed in 0.017718 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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