0

我能够读取文本文件中包含的数据。然后将此数据编码为在 datagridview 中显示。数据的原始格式以逗号分隔。现在我想使用 datagridview 的数据来使用制表符分隔来保存它。

问题是,并非所有字段的长度都相等,所以给了我类似的东西,

A B C
1 567889 123

它应该是这样的,

A B      C
1 567889 123

我想要的第二个例子,

ABCDE ABC     A
123   1258741 528712

所以无论是标题长度列还是数据长度列。

我使用了字符串生成器,sb.Append("{0}\t,{1}\t",field1, field2)但它不起作用。也试过write.Write(field + "\t")

4

2 回答 2

0

您可以使用String.PadRight这种方式来格式化文本。

您只想使用带有标题长度的 ' ' 填充并添加您的选项卡。

例子:

string line = string.Format("{0}\t{1}\t{2}", field1.PadRight(header1.Length, ' ')
                                           , field2.PadRight(header2.Length, ' ')
                                           , field3.PadRight(header3.Length, ' ')));

结果:

ABCDE   A       ABC
5       356475  5657
566     66      4
于 2013-01-16T02:16:54.913 回答
0

如果您希望可视化由TAB字符分隔的垂直对齐的可变长度数据项,记事本不是正确的工具。

使用支持弹性制表位的编辑器,例如: http: //nickgravgaard.com/elastictabstops/(向下滚动到 Java 小程序演示,以便您可以尝试在那里粘贴带有单个制表位的文本)。

或者将文本粘贴到专为处理列而设计的工具中,例如 Excel。它会自动将制表符识别为列分隔符。

于 2013-01-16T02:02:01.387 回答