求大神讲解啊。using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO ;namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
using (OpenFileDialog dlgText = new OpenFileDialog())
{
dlgText.Filter = "文本文件|*.txt";
if (dlgText.ShowDialog() == DialogResult.OK)
{
//新建一个datatable用于保存读入的数据
DataTable dt = new DataTable();
//给datatable添加三个列
dt.Columns.Add("ID", typeof(String));
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("level", typeof(String));
dt.Columns.Add("nextlevelexp", typeof(String));
dt.Columns.Add("BodyRadius", typeof(String));
dt.Columns.Add("BaseWalkSpeed", typeof(String));
dt.Columns.Add("BaseMaxHp ", typeof(String));
dt.Columns.Add("BaseAtkSpeed ", typeof(String));
dt.Columns.Add("BaseNormalAtk ", typeof(String));
dt.Columns.Add("BaseNormalDef ", typeof(String));
dt.Columns.Add("BaseHitValue ", typeof(String));
dt.Columns.Add("BaseDodgeValue ", typeof(String));
dt.Columns.Add("BaseCritValue ", typeof(String));
dt.Columns.Add("BaseCritAvoidValue ", typeof(String)); //读入文件
using (StreamReader reader = new StreamReader(dlgText.FileName, Encoding.Default))
{
//循环读取所有行
while (!reader.EndOfStream)
{
//将每行数据,用-分割成3段
string[] data = reader.ReadLine().Replace(" ", "-").Split('-');
//新建一行,并将读出的数据分段,分别存入3个对应的列中
if (data.Length == 14)
{
DataRow dr = dt.NewRow();
// int index = dt.Rows.Add(); dr[0] = data[0];
dr[1] = data[1];
dr[2] = data[2];
dr[3] = data[3];
dr[4] = data[4];
dr[5] = data[5];
dr[6] = data[6];
dr[7] = data[7];
dr[8] = data[8];
dr[9] = data[9];
dr[10] = data[10];
dr[11] = data[11];
dr[12] = data[12];
dr[13] = data[13]; //将这行数据加入到datatable中
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
}
}
//将datatable绑定到datagridview上显示结果
this.dataGridView1.DataSource = dt;
}
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//dataGridview1.rows.add(item[索引])
} private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{ }
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO ;namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
using (OpenFileDialog dlgText = new OpenFileDialog())
{
dlgText.Filter = "文本文件|*.txt";
if (dlgText.ShowDialog() == DialogResult.OK)
{
//新建一个datatable用于保存读入的数据
DataTable dt = new DataTable();
//给datatable添加三个列
dt.Columns.Add("ID", typeof(String));
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("level", typeof(String));
dt.Columns.Add("nextlevelexp", typeof(String));
dt.Columns.Add("BodyRadius", typeof(String));
dt.Columns.Add("BaseWalkSpeed", typeof(String));
dt.Columns.Add("BaseMaxHp ", typeof(String));
dt.Columns.Add("BaseAtkSpeed ", typeof(String));
dt.Columns.Add("BaseNormalAtk ", typeof(String));
dt.Columns.Add("BaseNormalDef ", typeof(String));
dt.Columns.Add("BaseHitValue ", typeof(String));
dt.Columns.Add("BaseDodgeValue ", typeof(String));
dt.Columns.Add("BaseCritValue ", typeof(String));
dt.Columns.Add("BaseCritAvoidValue ", typeof(String)); //读入文件
using (StreamReader reader = new StreamReader(dlgText.FileName, Encoding.Default))
{
//循环读取所有行
while (!reader.EndOfStream)
{
//将每行数据,用-分割成3段
string[] data = reader.ReadLine().Replace(" ", "-").Split('-');
//新建一行,并将读出的数据分段,分别存入3个对应的列中
if (data.Length == 14)
{
DataRow dr = dt.NewRow();
// int index = dt.Rows.Add(); dr[0] = data[0];
dr[1] = data[1];
dr[2] = data[2];
dr[3] = data[3];
dr[4] = data[4];
dr[5] = data[5];
dr[6] = data[6];
dr[7] = data[7];
dr[8] = data[8];
dr[9] = data[9];
dr[10] = data[10];
dr[11] = data[11];
dr[12] = data[12];
dr[13] = data[13]; //将这行数据加入到datatable中
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
}
}
//将datatable绑定到datagridview上显示结果
this.dataGridView1.DataSource = dt;
}
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//dataGridview1.rows.add(item[索引])
} private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{ }
}
}
每一行用split分隔数据即可,
貌似你已经实现了啊,为什么还要问
string[] files = System.IO.Directory.GetFiles(txtPath); //txtPath为txt所在路径
foreach (string str in files)
{
string[] temp = str.Split(new[] { "." }, StringSplitOptions.None);
if (temp[1] == "pdf")
{
list.Add(str);
}
}
for(int i=0;i<list.Count;i++)
{
//逐个文件读取
}我们也不知道你的txt内容是什么样的格式,关于拆分,看你的格式,网上找示例就行
string[] files = System.IO.Directory.GetFiles(txtPath); //txtPath为txt所在路径
foreach (string str in files)
{
string[] temp = str.Split(new[] { "." }, StringSplitOptions.None);
if (temp[1] == "pdf")
{
list.Add(str);
}
}
for(int i=0;i<list.Count;i++)
{
//逐个文件读取
}我们也不知道你的txt内容是什么样的格式,关于拆分,看你的格式,网上找示例就行“pdf”改为“txt”