制表符分隔文本文件

时间:2013-01-16 01:32:03

标签: c# datagridview text-files

我能够读取文本文件中包含的数据。然后对该数据进行编码以显示在数据网格视图中。数据的原始格式以逗号分隔。现在我想使用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")

2 个答案:

答案 0 :(得分:0)

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

使用支持弹性制表位的编辑器,例如:http://nickgravgaard.com/elastictabstops/(向下滚动到Java applet演示,这样您就可以尝试使用单个制表位粘贴文本)。

或者将文本粘贴到专门用于处理列的工具中,例如Excel。它会自动将选项卡识别为列分隔符。

答案 1 :(得分: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