我需要从固定字段长度的数据库表创建一个平面文件

时间:2013-05-24 07:07:36

标签: c#

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

Field A: 20 char

Field B: 15 char

Field C: 10 char

以下值:

Field A                 Field B                  Field C
Test 1                  Test 2                   Test 3
This is value 1         This is value 2          This is va

平面文件内容应为:

Test 1              Test 2         Test 3    
This is value 1     This is value 2This is va
像测试1字段一样,所有20个字符包括空间直到字段测试2和测试2字段相同,15个字符到字段测试3和测试3字段也有15个字符到最后包括空格。

请告诉我这方面的解决方案,我想从sql server数据库表或c#编码生成它。

1 个答案:

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