看了很多txt转DataTable的,但是都没啥效果,自己写了一个
实现的效果是:每一列数据为一列DataColumn DataTable表头中含有字段名。
public DataTable TXT2DataTable(string path)
{
try
{
StreamReader sR = File.OpenText(path);
DataTable dt = new DataTable();
string firstLine = sR.ReadLine();
string[] colName = firstLine.Split('\t');
foreach (var i in colName)
{
DataColumn col = dt.Columns.Add(i.ToString());
}
string nextLine;
while ((nextLine = sR.ReadLine()) != null)
{
string[] every_row = nextLine.Split('\t');
DataRow dr = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
dr[i] = every_row[i];
}
dt.Rows.Add(dr);
}
sR.Close();
return dt;
}
catch (Exception ex)
{
XtraMessageBox.Show("数据格式错误!","提示:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return null;
}