标题: [文本处理] BAT脚本怎样取提xlsx格式文件最后一行合并成新文件? [打印本页]
作者: msyimf 时间: 2023-3-18 09:00 标题: BAT脚本怎样取提xlsx格式文件最后一行合并成新文件?
有多个.xlsx格式一样的的文件,想做个BAT把所有.xlsx文件最后一行的数据,复制且合并起来存成一个新的.xlsx
作者: jyswjjgdwtdtj 时间: 2023-3-18 10:44
本帖最后由 jyswjjgdwtdtj 于 2023-3-18 10:46 编辑
bat不太可能
如果不是xls二十csv到是可以
作者: cbbos 时间: 2023-3-18 10:53
试试这个。- @echo off
- setlocal EnableDelayedExpansion
-
- set "input_file=test.xlsx"
- set "output_file=result.xlsx"
-
- :: Extract the last row from input file
- for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%input_file%"') do (
- set "last_line=%%b"
- )
-
- :: Create a new file with extracted last row
- echo !last_line! > "%output_file%"
复制代码
在上面的代码中,您需要将input_file变量设置为您要从其中提取最后一行的xlsx文件的名称,并将output_file变量设置为要将提取的最后一行复制到的新文件的名称。
该脚本使用findstr命令在输入文件中查找行号,并将结果存储在last_line变量中。然后,它将提取的最后一行复制到新文件中。
请注意,此脚本仅限于提取文本数据而不包含任何Excel文件中可能存在的格式化或公式。如果您需要保留格式和公式,请考虑使用专业的Excel库或工具来完成此任务。
作者: jyswjjgdwtdtj 时间: 2023-3-18 10:57
本帖最后由 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
?
作者: pd1 时间: 2023-3-18 15:31
需要先安装ImportExcel模块,具体的方法百度搜下吧
然后直接在powershell里执行- Import-Module ImportExcel
- $a=dir *.xlsx|%{(Import-Excel -Path $_.FullName -NoHeader)[-1]}
- Export-Excel -Path "./result.xlsx" -InputObject $a -NoHeader
复制代码
作者: jyswjjgdwtdtj 时间: 2023-3-18 18:48
本帖最后由 jyswjjgdwtdtj 于 2023-3-18 18:51 编辑
vbs可以不用安装其他东西(ps应该也可以调用com吧)
前提是你的电脑里有office或者wps
可惜我没怎么用过excel……
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |