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

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

有多个.xlsx格式一样的的文件,想做个BAT把所有.xlsx文件最后一行的数据,复制且合并起来存成一个新的.xlsx

本帖最后由 jyswjjgdwtdtj 于 2023-3-18 10:46 编辑

bat不太可能
如果不是xls二十csv到是可以

TOP

试试这个。
  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库或工具来完成此任务。

TOP

本帖最后由 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
?

TOP

需要先安装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
复制代码

TOP

本帖最后由 jyswjjgdwtdtj 于 2023-3-18 18:51 编辑

vbs可以不用安装其他东西(ps应该也可以调用com吧)
前提是你的电脑里有office或者wps
可惜我没怎么用过excel……

TOP

返回列表