txt导入c#的困惑 txt文件中的数据如下姓名,城市,昵称,邮编,gd,kk,12nj,,kk,12nj,gd,kk,nj,gd,,12现在要指定读入姓名/城市/邮编 到datagridview中请问该如何实现. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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("姓名", typeof(String)); dt.Columns.Add("城市", typeof(String)); dt.Columns.Add("昵称", typeof(String)); dt.Columns.Add("邮编", typeof(String));//读入文件 using (StreamReader reader = new StreamReader(dlgText.FileName, Encoding.Default)) { //循环读取所有行 while (!reader.EndOfStream) { //将每行数据,用-分割成4段 string[] data = reader.ReadLine().Replace("----", "-").Split('-'); //新建一行,并将读出的数据分段,分别存入3个对应的列中 DataRow dr = dt.NewRow(); dr[0] = data[0]; dr[1] = data[1]; dr[2] = data[2];dr[3] = data[3]; //将这行数据加入到datatable中 dt.Rows.Add(dr); } } //将datatable绑定到datagridview上显示结果 this.dataGridView1.DataSource = dt; } } } C# code 将你的文本做成txt文件中的数据如下 姓名,城市,昵称,邮编 gd,kk,12 nj,,kk,12 nj,gd,kk, nj,gd,,12 格式一样的数据,用Substring(0, 2)方法;按位逐行取数据处理就OK了。下面是我工程项目中差不多的案例。你可以参考下。 private void GPSform_Load(object sender, EventArgs e) { Int32 k = 0, i = 0; String str, block; String[] strnum = new string[] { }; StreamReader bin = File.OpenText("berth.txt"); while ((str = bin.ReadLine()) != null) { if (k == 0) { k = 1; //datintxt.Text= str.Substring(33, 8); count = Convert.ToInt32(str.Substring(33, 8)); } else { if (i < 2 * count) { //datintxt.Text = Convert.ToInt32(str.Substring(18, 8)).ToString();// +'\n'; xynum[i] = Convert.ToInt32(str.Substring(4, 8)); xynum[i + 1] = Convert.ToInt32(str.Substring(18, 8)); block = str.Substring(33, 3); i += 2; changtxt.Text += str.Substring(4, 8) + '\n' + str.Substring(18, 8) + '\n'; } } } 这不是我想要的效果如果我又有另一个文件城市,姓名,昵称,邮编 (注意城市和姓名调换了),gd,kk,12 nj,,kk,12 nj,gd,kk, nj,gd,,12 如果用程序读取的话希望和上面的文件得到的结果是一样的 怎么在byte数组里面查找另一个byte数组在第一个数组里面的位置啊 C#调用API为什么不能正常播放声音文件 爬虫的问题 有没有讲c# 在内存的实现的书 想用C#做一个组件来调用web service,给ASP页面来调用,该如何下手呢? 菜鸟学C#,请教如何调用dll中的函数 這句算法應該怎樣寫 TEXTBOX 获得焦点 或者鼠标移动到上面的时候显示 详细说明 如何获得画出的任意线条的所有坐标 救命,我用的SESSION验证用户登陆,怎么让一个帐户只能对应只有一个IP在线。 将截断字符串或二进制数据。 C# 产生随机数 为什么还会有重复
{
//建立一个打开文件的对话框
using (OpenFileDialog dlgText = new OpenFileDialog())
{
dlgText.Filter = "文本文件|*.txt";
if (dlgText.ShowDialog() == DialogResult.OK)
{
//新建一个datatable用于保存读入的数据
DataTable dt = new DataTable(); //给datatable添加三个列
dt.Columns.Add("姓名", typeof(String));
dt.Columns.Add("城市", typeof(String));
dt.Columns.Add("昵称", typeof(String));
dt.Columns.Add("邮编", typeof(String));//读入文件
using (StreamReader reader = new StreamReader(dlgText.FileName, Encoding.Default))
{
//循环读取所有行
while (!reader.EndOfStream)
{
//将每行数据,用-分割成4段
string[] data = reader.ReadLine().Replace("----", "-").Split('-'); //新建一行,并将读出的数据分段,分别存入3个对应的列中
DataRow dr = dt.NewRow();
dr[0] = data[0];
dr[1] = data[1];
dr[2] = data[2];
dr[3] = data[3]; //将这行数据加入到datatable中
dt.Rows.Add(dr);
}
} //将datatable绑定到datagridview上显示结果
this.dataGridView1.DataSource = dt;
}
}
}
将你的文本做成
txt文件中的数据如下
姓名,城市,昵称,邮编
gd,kk,12
nj,,kk,12
nj,gd,kk,
nj,gd,,12
格式一样的数据,用Substring(0, 2)方法;按位逐行取数据处理就OK了。
下面是我工程项目中差不多的案例。你可以参考下。
private void GPSform_Load(object sender, EventArgs e)
{
Int32 k = 0, i = 0;
String str, block;
String[] strnum = new string[] { };
StreamReader bin = File.OpenText("berth.txt");
while ((str = bin.ReadLine()) != null)
{
if (k == 0)
{
k = 1;
//datintxt.Text= str.Substring(33, 8);
count = Convert.ToInt32(str.Substring(33, 8));
}
else
{
if (i < 2 * count)
{
//datintxt.Text = Convert.ToInt32(str.Substring(18, 8)).ToString();// +'\n';
xynum[i] = Convert.ToInt32(str.Substring(4, 8));
xynum[i + 1] = Convert.ToInt32(str.Substring(18, 8));
block = str.Substring(33, 3);
i += 2; changtxt.Text += str.Substring(4, 8) + '\n' + str.Substring(18, 8) + '\n';
}
}
}
城市,姓名,昵称,邮编 (注意城市和姓名调换了)
,gd,kk,12
nj,,kk,12
nj,gd,kk,
nj,gd,,12 如果用程序读取的话希望和上面的文件得到的结果是一样的