尝试将文本文件转换为Excel

时间:2018-12-03 10:12:46

标签: c#

我有这样的文本文件:

VehicleReferenceKey:2365565656
DriverReferenceKey:965454545454
Latitude:30000


**

VehicleReferenceKey:96896A4607A6
DriverReferenceKey:96896A4607A6
Latitude:500


**

VehicleReferenceKey:822F5B18
DriverReferenceKey:822F5B18
Latitude:1000

我尝试将此文本文件转换为Excel 首先,我将

设为班级
public class Item
{
    public string VehicleReferenceKey;
    public string DriverReferenceKey;
    public string  Latitude;
}

然后我读取所有文本文件并将其循环为

var lines = File.ReadAllLines(fileName);
for (var i = 0; i < lines.Length; i += 1) {
  var line = lines[i];
  // Process line
}

但是我无法确定如何指定键和值
每行,以及如何分辨符号

  

**

因为它是每个对象之间的断路器。任何帮助

2 个答案:

答案 0 :(得分:1)

尝试以下代码:

BSW project

答案 1 :(得分:0)

基本上,您的文件似乎处于保留状态: 第一项占用3行(每个字段一行) 第一项之后的每个项目占用7行(2空行,1行包含“ **”,1空行,然后是包含字段值的3行) 因此,没有理由解析**和空行,而只需跳过它们即可(一次循环7行)。 对于单独的键和值,可以使用String.Split方法。

总而言之,它看起来像这样:

for (var i = 0; i < lines.Length + 2; i += 7)
{
   var newItem = new Item(){
      VehicleReferenceKey = lines[i].Split(':')[1],
      DriverReferenceKey = lines[i+1].Split(':')[1],
      Latitude = lines[i+2].Split(':')[1]
   }
   //do whatever you want with the newItem
}