网站首页 > 开源技术 正文
引言
将Excel工作表导出为文本文件是一种常见的需求,它允许数据以一种简单、通用的格式被保存和共享。常用的导出方法有以下两种:(1)直接复制黏贴。选中Excel工作表区域,并复制黏贴到文本文件。此时,行单元格之间以Tab键分割开;(2)使用Excel自带的“另存为”功能。另存为“CSV (逗号分隔)”的文本文件格式。顾名思义,行单元格之间以逗号分割开。
这两种导出方法虽然可以满足一定的需求,但还有一定的局限性。因此,我们可以利用VBA,以应对一些更复杂、更多样的导出场景:(1)为行单元格之间的分隔符提供了更大的弹性,可以使用逗号、Tab键、甚至是任何字符;(2)实现将Excel工作表导出为文本文件的全流程自动化。
实现思路
1.创建文本文件;
2.将工作表每一行的数据,用连接符拼接起来;
3.将拼接后的每一行数据写入文本文件。
VBA代码
Sub 导出Excel为文本文件()
'创建FileSystemObject对象
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' 指定文件路径和名称
Dim filePath As String
filePath = "C:\Users\VBAMatrix\Desktop\newfile.txt"
' 创建新文本文件,参数为True,即文件存在则覆盖
Dim file As Object
Set file = fso.CreateTextFile(filePath, True)
Dim fistRow As Integer, lastRow As Integer
firstRow = ActiveSheet.UsedRange.Row
lastRow = firstRow + ActiveSheet.UsedRange.Rows.Count - 1
Dim firstColumn As Integer, lastColumn As Integer
firstColumn = ActiveSheet.UsedRange.Column
lastColumn = firstColumn + ActiveSheet.UsedRange.Columns.Count - 1
Dim i As Integer, j As Integer
Dim txtwd As String
'循环遍历当前工作表的每一行
For i = firstRow To lastRow
txtwd = ""
For j = firstColumn To lastColumn
'行区域的单元格之间以逗号进行分割
txtwd = txtwd & ActiveSheet.Cells(i, j).Value & ","
Next
'将连接后的行数据,写入文本文件中
file.WriteLine (Left(txtwd, Len(txtwd) - 1))
Next
' 关闭文件
file.Close
'释放资源
Set file = Nothing
Set fso = Nothing
End Sub
猜你喜欢
- 2025-03-20 如何将Excel文件中的每行数据导出为单独的文本文件
- 2025-03-20 Excel | 批量导出图片(excel批量导出图片)
- 2025-03-20 只需三步,将Excel中的图片导出为单独的文件,就这么简单
- 2025-03-20 java大牛告诉你这样导出excel更加简单高效
- 2025-03-20 如何自动识别CAD图中所有表格数据并导出
- 2025-03-20 玩转无代码之批量导出 Excel 设置
- 2025-03-20 EasyExcel导出Excel表格到浏览器,通过Postman测试导出Excel
- 2025-03-20 办公效率up!一键导出Word全部表格到Excel
- 2025-03-20 如何将网页表格转换为excel表格(附excel表格空行删除教程)
- 2025-03-20 将记录集数据导出到Excel的函数(全记录格式导出)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)