zoukankan      html  css  js  c++  java
  • excel表数据生成定长txt数据

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

    A1表示字段名,A2表示长度,A3是数据,也可以增加字段类型,自行拓展

    点击“Create”按钮后,会在该excel文件目录下生成相应txt文件,txt文件的名字是自动获取此sheet页的名字

    sheet名字

    生成文件列表

    文件内容

    可自动生成多行数据

    主要代码如下

     1 Sub inputdata_Click()
     2     Dim cols As Integer
     3     Dim rows As Integer
     4     Dim str As String
     5     Dim num As Integer
     6     Dim nullStr As String
     7     Dim strFileName As String
     8         
     9     cols = ActiveSheet.UsedRange.Columns.Count
    10     rows = ActiveSheet.Range("A1048576").End(xlUp).Row
    11     strFileName = ThisWorkbook.path & "" & ActiveSheet.Name & ".txt"
    12     str = ""
    13     nullStr = ""
    14     
    15     If Dir(strFileName, 16) <> Empty Then
    16         Kill strFileName
    17     End If
    18     
    19     For j = 3 To rows
    20         For i = 1 To cols
    21             num = ActiveSheet.Cells(2, i)
    22             If num - Len(ActiveSheet.Cells(j, i)) < 0 Then
    23                 MsgBox "the char " & ActiveSheet.Cells(j, i) & "(row: " & j & ",col: " & i & ")" & "'s length is wrong !"
    24                 Exit Sub
    25             End If
    26             For k = 1 To num - Len(ActiveSheet.Cells(j, i))
    27                 nullStr = nullStr & "0"
    28             Next
    29             str = str & nullStr & ActiveSheet.Cells(j, i)
    30             nullStr = ""
    31         Next
    32         Set fs = CreateObject("Scripting.FileSystemObject")
    33         Set f = fs.OpenTextFile(strFileName, 8, True)
    34         f.writeline str
    35         f.Close
    36         str = ""
    37     Next
    38         
    39     MsgBox "input success"
    40 End Sub

    代码有缺陷,每循环一次就要创建一个读写实例,然后再关闭,影响效率,想把创建时提到循环前面,把close放到循环外面,试了一下,不晓得为什么会出问题。

    本人vba初学,不是很懂,希望改善

  • 相关阅读:
    java实现拼出漂亮的表格
    java实现金额组合
    java实现金额组合
    java实现金额组合
    java实现金额组合
    java实现Playfair 密码
    Mblog 部署手册
    配置Tomcat apr运行模式
    Duboo入门示例(Idea开发环境)
    Font-Awesome最新版完整使用教程
  • 原文地址:https://www.cnblogs.com/zhangyuanbo/p/11214394.html
Copyright © 2011-2022 走看看