读取txt文件赋值到DataGridView中
Posted 刘靖凯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取txt文件赋值到DataGridView中相关的知识,希望对你有一定的参考价值。
先查看txt是每条信息之间是通过什么分割,我是通过换行符(\n)分割的,
然后再看每一条信息中字段是通过什么分割,我的字段是通过 tab键(\t)分割。
第一步 先获取到txt文件的路径:
//获取绝对路径
var path = "C:/Users/Ljk/Desktop/asdasd/1238191.txt";
var con = System.IO.File.ReadAllText(path, Encoding.Default);
//获取相对路径
var con = System.IO.File.ReadAllText(System.IO.Directory.GetCurrentDirectory() + "//a.txt", Encoding.Default);
第二步 通过(\n)截取分割成一条条信息:
var arr = con.Split(new string[] { "\n" }, StringSplitOptions.None);
把所分离的信息放在一个string类型的数组里。
第三步 循环遍历这个string数组通过(\t)截取分割获取字段值:
foreach (var s in arr)
{
newRow = dataTable.NewRow();
var farr = s.Split(new string[] { "\t" }, StringSplitOptions.None);
//farrj就是获得到的字段值的string数组
}
第四步 我为要显示在DataGridView中,创建了一个dataTable来存放字段名称,和值。
下面是全部完整的代码:
//获取绝对路径
var path = "C:/Users/Ljk/Desktop/a/a.txt";
var con = System.IO.File.ReadAllText(path, Encoding.Default);
//获取相对路径
//var con = System.IO .File.ReadAllText(System.IO.Directory.GetCurrentDirectory() + "//a.txt", Encoding.Default);
var arr = con.Split(new string[] { "\n" }, StringSplitOptions.None);
DataTable dataTable = new DataTable();
#region 医疗信息查询返回字段
var dc = dataTable.Columns.Add("医疗机构编码", Type.GetType("System.String"));
dc = dataTable.Columns.Add("个人编号", Type.GetType("System.String"));
dc = dataTable.Columns.Add("门诊(住院流水号)", Type.GetType("System.String"));
dc = dataTable.Columns.Add("单据号", Type.GetType("System.String"));
dc = dataTable.Columns.Add("交易类型", Type.GetType("System.String"));
dc = dataTable.Columns.Add("医院交易流水号", Type.GetType("System.String"));
dc = dataTable.Columns.Add("中心交易流水号", Type.GetType("System.String"));
dc = dataTable.Columns.Add("医疗费总额", Type.GetType("System.String"));
dc = dataTable.Columns.Add("本次帐户支付", Type.GetType("System.String"));
dc = dataTable.Columns.Add("统筹支付金额", Type.GetType("System.String"));
#endregion
DataRow newRow = null;
foreach (var s in arr)
{
newRow = dataTable.NewRow();
var farr = s.Split(new string[] { "\t" }, StringSplitOptions.None);
//最后一条信息是空的只有一个字段长度等于1
if (farr.Length > 2)
{
#region 医疗信息查询赋值字段
newRow["医疗机构编码"] = farr[0];
newRow["个人编号"] = farr[1];
newRow["门诊(住院流水号)"] = farr[2];
newRow["单据号"] = farr[3];
newRow["交易类型"] = farr[4];
newRow["医院交易流水号"] = farr[5];
newRow["中心交易流水号"] = farr[6];
newRow["医疗费总额"] = farr[7];
newRow["本次帐户支付"] = farr[8];
newRow["统筹支付金额"] = farr[9];#endregion
}
dataTable.Rows.Add(newRow);
}
dataGridView1.DataSource = dataTable;
dataGridView1.AllowUserToAddRows = false;
以上是关于读取txt文件赋值到DataGridView中的主要内容,如果未能解决你的问题,请参考以下文章
winform中怎么读取DataGridview中特定的某一列并赋值给一个数组?
怎么才能实现用winform上传数据(txt文档格式的)到Access数据库中?然后用dataGridView显示出来?