excel表数据生成定长txt数据
项目作业中需要造数据,从txt文件中获取定长数据,直接从txt中修改,会显得十分麻烦,于是便利用excel自带的vba写了一个小工具。效果如下:

A1表示字段名,A2表示长度,A3是数据,也可以增加字段类型,自行拓展
点击“Create”按钮后,会在该excel文件目录下生成相应txt文件,txt文件的名字是自动获取此sheet页的名字
sheet名字

生成文件列表

文件内容

可自动生成多行数据

主要代码如下
Sub inputdata_Click()
Dim cols As Integer
Dim rows As Integer
Dim str As String
Dim num As Integer
Dim nullStr As String
Dim strFileName As String cols = ActiveSheet.UsedRange.Columns.Count
rows = ActiveSheet.Range("A1048576").End(xlUp).Row
strFileName = ThisWorkbook.path & "\" & ActiveSheet.Name & ".txt"
str = ""
nullStr = "" If Dir(strFileName, ) <> Empty Then
Kill strFileName
End If For j = To rows
For i = To cols
num = ActiveSheet.Cells(, i)
If num - Len(ActiveSheet.Cells(j, i)) < Then
MsgBox "the char " & ActiveSheet.Cells(j, i) & "(row: " & j & ",col: " & i & ")" & "'s length is wrong !"
Exit Sub
End If
For k = To num - Len(ActiveSheet.Cells(j, i))
nullStr = nullStr & ""
Next
str = str & nullStr & ActiveSheet.Cells(j, i)
nullStr = ""
Next
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(strFileName, , True)
f.writeline str
f.Close
str = ""
Next MsgBox "input success"
End Sub

代码有缺陷,每循环一次就要创建一个读写实例,然后再关闭,影响效率,想把创建时提到循环前面,把close放到循环外面,试了一下,不晓得为什么会出问题。
本人vba初学,不是很懂,希望改善
excel表数据生成定长txt数据的更多相关文章
- Java随机生成定长纯数字或数字字母混合数
		
(转)Java随机生成定长纯数字或数字字母混合数 运行效果图: 具体实现代码
 - loadrunner socket协议问题归纳(4)---buffer接收变长和定长的数据
		
测试场景:聊天系统 用户登录后,要先向服务器发送用户名,然后可以发送聊天信息,同时也可以接受聊天信息. 如果接受的字符为定长时,可以设定接受长度.recv buf2 66 #include " ...
 - 生成定长随机数-可做3des密钥
		
3DES加解密需要密钥支持,要求为8的倍数,一般会使用32位的字母数字随机字符串作为密钥. 下面这个工具类,可用做key值的生成,详见下方代码: package test; import java.u ...
 - 关于导出Excel表中存在部门或用户数据权限问题
		
/** * 导出Controller */ @RequiresPermissions("xxx:weeklightlimit:download") @RequestMapping( ...
 - 从excel表中生成批量SQL,将数据录入到数据库中
		
excel表格中有许多数据,需要将数据导入数据库中,又不能一个一个手工录入,可以生成SQL,来批量操作. 1.首先在第二行的H列,插入函数:=CONCATENATE("INSERT ...
 - 从excel表中生成批量SQL
		
excel表格中有许多数据,需要将数据导入数据库中,又不能一个一个手工录入,可以生成SQL,来批量操作. ="insert into Log_loginUser (LogID, Logi ...
 - python 获取excel表内容 生成php数组
		
需求: 生成:同时处理数字类型,比如3 不能显示为3.0 [ ['type'=>3,'da_name'=>福建省平潭拓至美装饰工程有限公司,'da_aka'=>福建省平潭拓至美装饰工 ...
 - java如何随机生成定长的字符串
		
小数,字符串.时间等示例代码 String base = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 public c ...
 - Jmeter----读取excel表中的数据
		
Jmeter 读取excel数据使用的方法是使用CSV Data Set Config参数化,之后使用BeanShell Sampler来读取excel表中的数据 第一步.查看所需的接口都要哪些字段和 ...
 
随机推荐
- 在前后端分离项目中使用SpringBoot集成Shiro
			
前言 这次在处理一个小项目时用到了前后端分离,服务端使用springboot2.x.权限验证使用了Shiro.前后端分离首先需要解决的是跨域问题,POST接口跨域时会预发送一个OPTIONS请求,浏览 ...
 - 使用fastjson读取超巨json文件引起的GC问题
			
项目中需要将巨量数据生成的json文件解析,并写入数据库,使用了 alibaba 的 fastjson,在实践过程中遇到了 GC 问题,记录如下: 数据大约为70万条,文件大小在3~4G左右,使用 f ...
 - 附008.Kubernetes TLS证书介绍及创建
			
一 Kubernetes证书 1.1 TLS Kubernetes系统的各个组件需要使用TLS证书对其通信加密以及授权认证,建议在部署之前先生成相关的TLS证书. 1.2 CA证书创建方式 kuber ...
 - Python自学day-1
			
一.Python介绍 1.python擅长领域: WEB开发:Django. pyramid. Tornado. Bottle. Flask. WebPy 网络编程:Twisted(牛 ...
 - Hadoop初步学习
			
我们老板理解的大数据是,从数据到知识的转化.大数据目前的应用如 支付宝金融大数据.腾讯出行大数据等. 大数据的工作就是从海量数据源中筛选,梳理对自己有用的数据,整合成合适的数据结构,存储并进行可视化. ...
 - 第一章 corejava的入门
			
第一章 corejava的入门一:什么是语言语言=os+数据结构+算法+思想os:操作系统数据结构:队,栈,二叉树,链表算法:做游戏开发时非常重要面试题:int a>0,b>0只使用一条输 ...
 - 重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell
			
原文地址:https://yq.aliyun.com/articles/694603 本文作者:阿里开源 本文来自云栖社区合作伙伴"阿里系统软件技术",了解相关信息可以关注&qu ...
 - jQuery中ajax-$.getJSON,$.getScript
			
jQuery提供了两个特定异步加载的方法$.getJSON()方法和$.getScript()方法 $.getJSON()来加载特定的json文件 $.getScript()来加载特定的javascr ...
 - 深度探索c++对象模型 第二章
			
1,c++转换函数:显示转换和隐式转换. 隐式转换为程序员提供了很大的变量.比如整形提升,普通类型转换为类类型(operator int())都为程序带来无尽的方便.试想,如果没有整形提升,一个sho ...
 - RocketMQ与MYSQL事务消息整合
			
1.基础理论知识篇“两阶段提交”如果你了解可以跳过这段,当然如果你想深入了解你可以购买相关书籍或去搜索相关资料阅读 两阶段提交分为 正常提交和异常提交或异常回滚 上面是正常提交的示意图,协调者发起预提 ...