如何将文本文件的内容导入ListView并保存在表中

本文关键字:ListView 保存 存在 导入 文本 文件 | 更新日期: 2023-09-27 18:01:12

我已经研究了这么长时间,还没有真正找到答案。

我想做的是导入我的TimeLog.txt文件的内容,并将其显示到ListView中,然后将其保存在我的数据库中。

这是我的TimeLog.txt文件的内容:

No  Mchn    EnNo        Name        Mode    IOMd    DateTime    
00001   1   00001234                1   0   2004/01/01  01:01
00002   1   00001234                1   0   2015/05/12  04:01
00003   1   00001234                2   0   2015/05/12  04:01
00004   1   00001234                1   0   2004/01/01  01:01
00005   1   00001234                1   0   2015/05/13  10:42
00006   1   00001234                2   0   2004/01/01  01:01
00007   1   00000001                1   0   2004/01/01  01:01
00008   1   00000002                1   0   2004/01/01  01:01
00009   1   00000001                1   0   2004/01/01  01:01
00010   1   00000001                1   0   2004/01/01  01:01
00011   1   00000001                1   0   2004/01/01  01:01
00012   1   00000002                1   0   2004/01/01  01:01
00013   1   00000001                1   0   2004/01/01  01:01

我的代码如下所示:命名空间文本文件{

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        foreach (string line in File.ReadAllLines(@"TimeLog'GLG_001.txt"))
        {
            var listViewItem = new ListViewItem();
            listViewItem.Content = line;
            ListView.Items.Add(listViewItem);
        }

    }
}

}

非常需要你的帮助。

如何将文本文件的内容导入ListView并保存在表中

1(您应该创建一个类来保存文件每行的数据:

class TimeLogData
{
    public string NoMchn { get; set; }
    public int EnNo { get; set; }
    public string Name { get; set; }
    public int Mode { get; set; }
    public int IOMd { get; set; }
    public DateTime Time { get; set; }
}

2( 您应该创建一个类,将文件中的单行转换为类TimeLogData:

class TimeLogLineParser
{
    public TimeLogData ParseLine(string line)
    {
        TimeLogData result = null;
        var tmp = line.Split(new[] {" "}, StringSplitOptions.RemoveEmptyEntries);
        if (tmp.Length == 7)
        {
            result = new TimeLogData
            {
                NoMchn = tmp[0],
                EnNo = Convert.ToInt32(tmp[1]),
                Name = tmp[2],
                Mode = Convert.ToInt32(tmp[3]),
                IOMd = Convert.ToInt32(tmp[4]),
                Time = Convert.ToDateTime(tmp[5] + " " + tmp[6])
            };
        }
        return result;
    }
}

3( 您应该读取文件的每一行,将这一行转换为对象TimeLogData,并将其添加到TimeLogData:的List

var data = new List<TimeLogData>();
var lineParser = new TimeLogLineParser();
foreach (string line in File.ReadAllLines(@"...path to your file..."))
{
    if (line.StartsWith("NoMchn")) continue;
    var objTmp = lineParser.ParseLine(line);
    if (objTmp != null) data.Add(objTmp);
}

4( 现在,您可以使用数据列表将项绑定到ListView,并将数据插入SQL Server。