在数据文件中手动定义固定宽度
Manually Define Fixed Widths in Data File
我有一个来自第三方的固定宽度数据文件,其中包含 1,000 条记录。它带有一个单独的文档,显示所有可用的列、每列的字符开始字符结束和字符长度。它有数千列。
我的数据文件并不是每一行都有数据,所以在 Excel 中定义固定宽度是不可行的,因为我可能会错误地跳过一列,因为我看不到它有数据。
是否有允许您手动 type/define 或导入宽度的文本编辑器?
这个 "separate document" 是什么样子的?假设我有一个文本文件,其中有一列要读取的宽度值,看起来像这样:
20
25
30
10
5
23
25
10
23
然后我可以将此文本文件中的值读入 excel,并使用以下 vba 代码调整电子表格的列宽:
Sub colWidth()
Dim widthArray() As String
Dim myFile, textline As String
Dim x, y As Integer
'example text file containing column widths
myFile = "C:\qqq\qqq\qqq\widths.txt"
'loop through the file and store each column width in an array
Open myFile For Input As #1
x = 1
Do Until EOF(1)
Line Input #1, textline
ReDim Preserve widthArray(1 To x)
widthArray(x) = textline
x = x + 1
Loop
Close #1
'using the array of column widths to adjust columns
For y = 1 To UBound(widthArray)
Columns(y).ColumnWidth = Int(widthArray(y))
Next y
End Sub
我有一个来自第三方的固定宽度数据文件,其中包含 1,000 条记录。它带有一个单独的文档,显示所有可用的列、每列的字符开始字符结束和字符长度。它有数千列。
我的数据文件并不是每一行都有数据,所以在 Excel 中定义固定宽度是不可行的,因为我可能会错误地跳过一列,因为我看不到它有数据。
是否有允许您手动 type/define 或导入宽度的文本编辑器?
这个 "separate document" 是什么样子的?假设我有一个文本文件,其中有一列要读取的宽度值,看起来像这样:
20
25
30
10
5
23
25
10
23
然后我可以将此文本文件中的值读入 excel,并使用以下 vba 代码调整电子表格的列宽:
Sub colWidth()
Dim widthArray() As String
Dim myFile, textline As String
Dim x, y As Integer
'example text file containing column widths
myFile = "C:\qqq\qqq\qqq\widths.txt"
'loop through the file and store each column width in an array
Open myFile For Input As #1
x = 1
Do Until EOF(1)
Line Input #1, textline
ReDim Preserve widthArray(1 To x)
widthArray(x) = textline
x = x + 1
Loop
Close #1
'using the array of column widths to adjust columns
For y = 1 To UBound(widthArray)
Columns(y).ColumnWidth = Int(widthArray(y))
Next y
End Sub