ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 119|回复: 9

[求助] 求一个批量将excel每行转换成单独的txt

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-4-23 13:03 | 显示全部楼层 |阅读模式
excel每行有6列,第一列为生成的txt文件名,第二列到第六列的内容在txt中转置成对应第一行到第五行.


excel有几千行,最好可以做一个列数可以修改的(或者自适应最好),谢谢各位大佬

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-23 13:09 | 显示全部楼层
我在论坛搜到以下可以用,但是生成的txt内容没有换行,中间还有个,


Sub Excel和txt映射()
Dim i&, j&, info$
For i = 1 To 100 '可在此处修改行数,这里假定有3行
    info = ""
    For j = 1 To 3 '可在此处修改列数,这里假定有3列
        info = info & "," & Cells(i, j)
    Next j
    info = Right(info, Len(info) - 1)
    Open ThisWorkbook.Path & "\" & Cells(i, 1) & ".txt" For Output As #1 '将每行第1个单元格信息作为txt文件名
        Print #1, info
    Close #1
Next i
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-4-23 14:54 | 显示全部楼层
可把","改成换行符:

info = info & "," & Cells(i, j)
改为:
info = info & vbCrLf & Cells(i, j)
或:
info = info & Cells(i, j) & vbCrLf

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-23 14:59 | 显示全部楼层
我就是想把附件里的两个文件分别复制上千个,每个文件内容的数字依次递增其余不变,并将文件名保存为那个对应的数字

0.rar

238 Bytes, 下载次数: 7

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-23 15:32 | 显示全部楼层
山菊花 发表于 2024-4-23 14:54
可把","改成换行符:

info = info & "," & Cells(i, j)

谢谢大佬,不过生成的txt有个空白的第一行。还有就是生成的文件和原始文件有点区别,也许是我用excel导入数据的时候造成的.
1.jpg

TA的精华主题

TA的得分主题

发表于 2024-4-23 15:33 | 显示全部楼层
本帖最后由 wanghan519 于 2024-4-23 15:49 编辑
thuang9 发表于 2024-4-23 14:59
我就是想把附件里的两个文件分别复制上千个,每个文件内容的数字依次递增其余不变,并将文件名保存为那个对 ...

发现tobj是二进制文件,一般的替换方法字符编码的转换可能出错
但sed不管这些只是替换,所以改了一下

0.zip

351.79 KB, 下载次数: 6

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-23 15:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
哇,谢谢wanghan519,太好了,一下就复制了2000个。瞬间理解了有知识,会让工作学习是多么的轻松愉快!谢谢大佬

TA的精华主题

TA的得分主题

发表于 2024-4-23 15:58 | 显示全部楼层
thuang9 发表于 2024-4-23 15:54
哇,谢谢wanghan519,太好了,一下就复制了2000个。瞬间理解了有知识,会让工作学习是多么的轻松愉快!谢谢 ...

别啊,我上面回答错了,刚刚改正的你还没下载。。。

tobj是二进制文件,用powershell替换时因为会当成gbk转编码,会有错误,所以改成了sed,sed不管字符编码所以暂时没问题,改用这个吧

TA的精华主题

TA的得分主题

发表于 2024-4-23 16:13 | 显示全部楼层
今天又学到一条教训,powershell会自作聪明把管道里的东西解编码,遇到二进制文件或者执行外部命令时需要小心处理
原始的ed、sed工具则不管编码,这在某些情况下还挺方便
不能太凭直觉,要不是楼主提醒错误,就翻车了。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-23 16:24 | 显示全部楼层
wanghan519 发表于 2024-4-23 15:58
别啊,我上面回答错了,刚刚改正的你还没下载。。。

tobj是二进制文件,用powershell替换时因为会当成 ...

嗯嗯,太谢谢你了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-7 11:48 , Processed in 0.045909 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表