如何使用vb.net从列的右侧将texttocolumns从文件粘贴到excel

如何使用vb.net从列的右侧将texttocolumns从文件粘贴到excel,vb.net,Vb.net,使用vb.net从文件复制并粘贴到excel时出现问题。 在excel中使用vb.net中的texttocolumns时,从左列开始按如下方式粘贴 例如: 3 12 2 1073.91 -0.1 1.7 0.02 -5.14 -0.5 14 -1067.73 0.1 -1.7 -0.02 1.74 0.29 13 2 787.99 16.39 2.16 -0.12 -4.22

使用vb.net从文件复制并粘贴到excel时出现问题。 在excel中使用vb.net中的texttocolumns时,从左列开始按如下方式粘贴 例如:

3   12       2      1073.91 -0.1     1.7     0.02   -5.14   -0.5
14 -1067.73  0.1     -1.7   -0.02   1.74     0.29       
13  2       787.99  16.39   2.16    -0.12   -4.22   21.28   
我的数据每行分别有9列、7列和8列。当我在vb.net中使用texttocolumns时,它将3、14和13粘贴到一列中。但我想从右边的柱子上倒下

3   12  2   1073.91 -0.1    1.7   0.02  -5.14   -0.5
       14  -1067.73  0.1   -1.7  -0.02   1.74    0.29
    13  2   787.99  16.39   2.16 -0.12  -4.22   21.28
如何做到这一点。请帮帮我

我在程序中使用了以下语法:

.列(1).文本到列(_ 目的地:=。个单元格(1,1)_ 数据类型:=Excel.XlTextParsingType.xlDelimited_ TextQualifier:=Excel.XlTextQualifier.xlTextQualifierDoubleQuote_ 连续delimiter:=真_ Tab:=真_ 分号:=False_ 逗号:=假_ 空格:=真_ 其他:=假_ trailingMinusNumber:=假)


gvg

考虑一个名为
test.txt
的文件,其中包含以下内容:

3   12  2   1073.91 -0.1    1.7 0.02    -5.14   -0.5
14  -1067.73    0.1 -1.7    -0.02   1.74    0.29
13  2   787.99  16.39   2.16    -0.12   -4.22
这是在vb.net中执行此操作的一种方法:

Dim text As String = My.Computer.FileSystem.ReadAllText("C:\test.txt")

Me.TextBox1.Text = System.Text.RegularExpressions.Regex.Replace(text, " {2,}", " ").Replace(" ", vbTab)

'Or:

My.Computer.Clipboard.SetText(System.Text.RegularExpressions.Regex.Replace(text, " {2,}", " ").Replace(" ", vbTab))
编辑

这将右对齐所有值:

Dim text As String = My.Computer.FileSystem.ReadAllText("C:\test.txt")
Dim lines As String() = text.Trim().Split(vbNewLine)
Dim item As String = Nothing
Dim num As Integer = 0

For i As Integer = (lines.Length - 1) To 0 Step -1
    item = System.Text.RegularExpressions.Regex.Replace(lines(i), " {2,}", " ").Trim()
    num = (8 - (item.Length - item.Replace(" ", "").Length))
    lines(i) = (New String(vbTab, num) & item.Replace(" ", vbTab))
Next

Me.TextBox1.Text = String.Join(vbNewLine, lines)

'Or:

My.Computer.Clipboard.SetText(System.Text.RegularExpressions.Regex.Replace(text, " {2,}", " ").Replace(" ", vbTab))

使用制表符作为列分隔符。我已将答案编辑为包含右对齐。谢谢罗杰的回复。我不知道文件里有多少行。我想你只给了三行文字。如果文件中有许多行,如何执行此操作。请帮助我。@user3060904
text
的内容只是一个例子。只需将文件读入
文本
变量即可。我已经更新了答案。我正在将某个文本从一个文件复制到excel中,并使用texttocolumns作为我之前的帖子(使用开始和停止标记)进行拆分。你提供给我的代码对我的问题不起作用。请帮帮我。