如何将文本写入Excel表格?
1、尝试将文本文档改成csv格式。
对于文本文档行数较少(未超过1048576行),可以直接改成csv格式,再使用Excel打开;如果超过了,打开时导入的数据将不全。

2、打开Excel表格,按下【Alt+F11】组合键调出VBE编辑器。

3、点击【插入】、【模块】。

4、在模块代码窗口里边输入以下VBA程序代码。
Sub ReaderTxt()
Dim Fso, Fil, i1, i2, i3, Myway, MyFile
On Error Resume Next '忽略运行过程中的错误提示
Application.ScreenUpdating = False '关闭工作表更新,提高运行速度
Application.DisplayAlerts = False '忽略报警提示
Myway = "D:\AAAA\报表数据.txt" '文本文件路径
MyFile = "D:\AAAA\报表数据.xlsm" '另存为路径
i3 = 0
ThisWorkbook.Worksheets("Sheet1").Name = CStr(i3) '重命名Sheet1
Set mysheet = ThisWorkbook.Worksheets(CStr(i3)) '定义工作表
Set Fso = CreateObject("Scripting.FileSystemObject") '访问系统文件
Set Fil = Fso.OpenTextFile(Myway, 1, 0) '打开文本文件
Do While Not Fil.AtEndOfStream '如果不是文本末尾,则
i1 = i1 + 1
mysheet.Cells(i1, 1) = Fil.ReadLine '将文本的整行写入单元格
If i1 > 1048576 Then '如果超出工作表行数,则
i1 = 0
ThisWorkbook.Sheets.Add After:=Sheets(CStr(i3)) '新建工作表
i2 = ThisWorkbook.Sheets.Count '工作表数量
i3 = i3 + 1 '工作表名称递增
ThisWorkbook.Sheets(i2).Name = CStr(i3) '重命名新建工作表
Set mysheet = ThisWorkbook.Worksheets(CStr(i3)) '定义工作表
End If
Loop
ThisWorkbook.SaveAs Filename:=MyFile, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled '另存工作薄
Application.ScreenUpdating = True '恢复工作表更新,提高运行速度
Application.DisplayAlerts = True '恢复报警提示
End Sub

5、检查确认无误后,在VBE编辑器的功能区里边点击“运行”图标运行程序,或者按下【F5】键运行程序。

6、待程序运行完成后,将会看到文本文档导入到Excel表格里面的内容。

1、VBA程序总结:
1、执行大量的数据时,先忽略一些错误、提示,关闭显示更新,以提高程序的执行速度。
2、CStr是将数值转换成字符串。
3、OpenTextFile语法:OpenTextFile(打开的文档,只读(1)/写入(8),文档不存在时是否创建,打开文件的格式)。
4、AtEndOfStream是最后一行时,其值为True,否则为False。
5、ReadLine表示读取一整行。
