excel批量提取txt最后一行数据

2024年11月23日 07:44
有4个网友回答
网友(1):

我这里可以用vba解决的,希望对帮助。
将txt文件和excel文件放在同一个文件夹内。
打开excel,视图-工具栏-控件工具箱
添加一个命令按钮,双击按钮,复制以下代码:
Private Sub CommandButton1_Click()
Dim m As Integer, s As String
'MyPath = "D:\My Documents\excel\"
MyPath = ThisWorkbook.Path & "\"
myfile = Dir(MyPath & "*.txt")
Do While myfile <> ""
i = i + 1
Cells(i, 1).Value = myfile
Open MyPath & myfile For Input As #1
Do While Not EOF(1)
Line Input #1, s
Cells(i, 2).Value = s
Loop

Close #1
myfile = Dir
Loop
End Sub
退出设计模式,单击命令按钮,在A列会写入txt文件名,在B列会写入最后一行的内容。
以实验,成功。
有问题,再联系我。

网友(2):

用excel没有做出来,用别的软件可以实现你要的功能。
下载Replace Pioneer,(是英文的软件,找不到中文的。)
1,打开软件,点Tools→Bacth Runner,弹出一个窗口来
2,点击Search Files,定位到那些文件放在某一文件夹的位置,点Search,然后返回到刚才的界面,里面有要替换的文件列表。
3,Change output folder,那个打勾,并且设置要输出的文件夹。
4,点Fast Replace,双击Find下面的第一行输入([^\n]*(\n|$)){1}$
在Replace下面的输入$&
5,紧接着点ok,勾选下面的第1,2,5个选项,点start→yes,这样就完成了想要的最后一行文本。
亲自测试保证成功。
建议先找两个文本熟悉操作流程再实际操作,祝你成功。

网友(3):

在楼上的基础上我做了点修改,感谢楼上的。

Private Sub CommandButton1_Click()
Dim m As Integer, s As String '定义变量
MyPath = ThisWorkbook.Path & "\" '定义路径,保证EXCEL与要批量处理的文件放到同一目录下
myfile = Dir(MyPath & "*.12S") '“*.12S” 为文件名后缀,请自行修改所需要的文件类型
Do While myfile <> ""
i = i + 1
Cells(i, 1).Value = myfile '读取文件名放到第1列中
Open MyPath & myfile For Input As #1
Do Until EOF(1)
Line Input #1, s 'S为读到的行
If Mid(s, 1, 3) = "SUM" Then 'Mid函数截取读到的行第1到第3位的数据为“SUM”
Cells(i, 2).Value = s '将读取到的行放到第2列中
End If
Loop
Close #1
myfile = Dir
Loop
End Sub

网友(4):

你是要 提取一个txt 文件里的数据 到excel表格中,而这个文件的名字已经在这个表中了,数据却在那个文件里?是吗?