2

导出需要是固定长度的文件,这意味着每个字段都将具有预定义的位置和长度,如下所示:

Field A: 20 char

Field B: 15 char

Field C: 10 char

对于以下值:

字段 A 字段 B 字段 C
测试 1 测试 2 测试 3
这是值 1 这是值 2 这是 va

平面文件内容应为:

测试 1 测试 2 测试 3    
这是值 1 这是值 2 这是 va

像测试 1 字段有所有 20 个字符,包括字段测试 2 的空格,并且与测试 2 字段相同,测试 3 字段有 15 个字符,测试 3 字段也有 15 个字符,包括空格。

请告诉我解决方案,要么我想从 sql server 数据库表中生成它,要么通过 c# 编码任何方式。

4

1 回答 1

1

这段代码显示了如何做到这一点:

// 1 reading data from database
var data = new List<Tuple<string, string, string>>();

for (var i = 0; i < 10; i++)
{
    data.Add(new Tuple<string, string, string>(i.ToString(), (i + 1).ToString(), (i * 3000).ToString()));
}

// 2 writing data to file
foreach (var record in data)
{
    var str = string.Format("{0,-20}{1,-15}{2,-10}", record.Item1, record.Item2, record.Item3);

    Console.WriteLine(str); // <- or file.WriteLine(...)
}

由于我不知道您的模型(或域)对象是什么,因此我使用了一个简单的对象Tuple<string, string, string>

于 2013-05-24T08:05:10.773 回答