如何将文本文件的内容导入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);
}
}
}
}
非常需要你的帮助。
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。