C#将txt文本内容导入到datagridview控件中


先将txt内容读取到datatable中,然后将其导入到控件dataGridView中去,创建列名,将每一行文本内容使用分隔符号隔开,使用foreach将每一行数据导入到控件每一个单元格中。对于有些文本,需要删除最后个字符(可能有个换行符)。

StreamReader sr = new StreamReader("E:\\Desktop\\111.txt"/*, Encoding.GetEncoding("GB2312")*/);
                string txt = sr.ReadToEnd()/*.Replace("\r\n", "")*/;
                //string[] nodes = txt.Split(Convert.ToChar(10));
                string[] nodes = txt.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);//过滤空回车符
                Console.WriteLine("1");
                Console.WriteLine(nodes[0]);
                Console.WriteLine("2");
                Console.WriteLine(nodes[1]);
                Console.WriteLine(nodes[2]);
                dt.Columns.Add("Wafer_Source", typeof(String));
                dt.Columns.Add("Wafer_Lot_piece", typeof(String));
                dt.Columns.Add("颗数", typeof(String));
                dt.Columns.Add("颗数/g", typeof(String));
                dt.Columns.Add("净重", typeof(String));
                dt.Columns.Add("毛重", typeof(String));
                dt.Columns.Add("时间", typeof(String));
                foreach (string node in nodes)
                {
                    string[] strs = node.Split(';');
                    Console.WriteLine("1");
                    DataRow dr = dt.NewRow();

                    dr["Wafer_Source"] = strs[0];
                    dr["Wafer_Lot_piece"] = strs[1];
                    dr["颗数"] = strs[2];
                    dr["颗数/g"] = strs[3];
                    dr["净重"] = strs[4];
                    dr["毛重"] = strs[5];
                    dr["时间"] = strs[6];
                    dt.Rows.Add(dr);
                }
                this.dataGridView1.DataSource = dt;
                foreach (DataGridViewColumn column in dataGridView1.Columns)//自适应列宽
                {
                    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                }
                //sr.Close();
            }

 建立查询功能,筛选控件中的内容,like模糊查询。

 DataTable dataTable = new DataTable();
                foreach (DataColumn item in dt.Columns)
                {
                    DataColumn column = new DataColumn(item.ColumnName, typeof(string));
                    dataTable.Columns.Add(column);
                }
                foreach (DataRow item in dt.Rows)
                {
                    List<string> values = new List<string>();
                    foreach (object value in item.ItemArray)
                    {
                        if (value != null) values.Add(Convert.ToString(value));
                        else values.Add("");
                    }
                    DataRow row = dataTable.NewRow();
                    row.ItemArray = values.ToArray();
                    dataTable.Rows.Add(row);
                }
                //string cx = "Wafer_Source=textBox1 .Text";
                DataTable result1 = dataTable.Select("时间 like'%" + dateTimePicker1.Value.ToString("yyyy/MM/dd") + "%'").CopyToDataTable();
                this.dataGridView1.DataSource = result1;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM