C#读取TXT文件在dataGridView显示。

lseva 2015-02-13 08:19:12
以下是文件内容由空格分开
0 170.4917 1.7194 0 170.5166 3.3402 0 171.7997 2.1545 0 168.2972 2.1565 0 164.7947 2.1586
0 161.2921 2.1606 0 157.7896 2.1627 0 154.2871 2.1647 0 150.7846 2.1668 0 147.2821 2.1688
0 143.7796 2.1708 0 140.2770 2.1729 0 136.7745 2.1749 0 133.2720 2.1770 0 129.7695 2.1790
0 126.2670 2.1811 0 122.7645 2.1831 0 119.2619 2.1852 0 115.7594 2.1872 0 112.2569 2.1892
0 108.7544 2.1913 0 105.2519 2.1933 0 101.7493 2.1954 0 98.2468 2.1974 0 94.7443 2.1995
0 91.2418 2.2015 0 87.7393 2.2035 0 84.2368 2.2056 0 80.7342 2.2076 0 77.2317 2.2097
0 73.7292 2.2117 0 70.2267 2.2138 0 66.7242 2.2158 0 63.2216 2.2178 0 59.7191 2.2199
0 56.2166 2.2219 0 52.7141 2.2240 0 49.2116 2.2260 0 45.7091 2.2281 0 45.7389 5.4404
0 49.2279 5.4324 0 52.7170 5.4245 0 56.2061 5.4166 0 59.6952 5.4086 0 63.1843 5.4007
0 66.6734 5.3927 0 70.1624 5.3848 0 73.6515 5.3769 0 77.1406 5.3689 0 80.6297 5.3610
0 84.1188 5.3531 0 87.6078 5.3451 0 91.0969 5.3372 0 94.5860 5.3292 0 98.0751 5.3213
0 101.5642 5.3134 0 105.0533 5.3054 0 108.5423 5.2975 0 112.0314 5.2896 0 115.5205 5.2816
0 119.0096 5.2737 0 122.4987 5.2657 0 125.9878 5.2578 0 129.4768 5.2499 0 132.9659 5.2419
0 136.4550 5.2340 0 139.9441 5.2260 0 143.4331 5.2181 0 146.9222 5.2102 0 150.4113 5.2022
0 153.9004 5.1943 0 157.3894 5.1864 0 160.8785 5.1784 0 164.3676 5.1705 0 167.8567 5.1625
0 171.3457 5.1546 0 171.3869 8.5029 0 167.8845 8.5038 0 164.3821 8.5047 0 160.8797 8.5055
0 157.3773 8.5064 0 153.8748 8.5073 0 150.3724 8.5082 0 146.8700 8.5091 0 143.3676 8.5099
0 139.8652 8.5108 0 136.3628 8.5117 0 132.8604 8.5126 0 129.3580 8.5135 0 125.8556 8.5143
0 122.3531 8.5152 0 118.8507 8.5161 0 115.3483 8.5170 0 111.8459 8.5179 0 108.3435 8.5187
0 104.8411 8.5196 0 101.3387 8.5205 0 97.8363 8.5214 0 94.3339 8.5223 0 90.8315 8.5231
0 87.3290 8.5240 0 83.8266 8.5249 0 80.3242 8.5258 0 76.8218 8.5267 0 73.3194 8.5275
0 69.8170 8.5284 0 66.3146 8.5293 0 62.8122 8.5302 0 59.3098 8.5311 0 55.8073 8.5319
0 52.3049 8.5328 0 48.8025 8.5337 0 48.8619 5.4999 0 55.4986 1.4660 0 55.7810 4.3382
0 56.0635 7.2105 0 56.3459 10.0827 0 56.3968 7.2099 0 56.4477 4.3372 0 56.4985 1.4644
0 56.7797 4.3363 0 57.0608 7.2082 0 57.3419 10.0802 0 57.3941 7.2077 0 57.4463 4.3352
0 57.4985 1.4627 0 57.7783 4.3344 0 58.0581 7.2060 0 58.3379 10.0777 0 58.3914 7.2055
0 58.4450 4.3333 0 58.4985 1.4611 0 58.7770 4.3325 0 59.0554 7.2038 0 59.3339 10.0751
0 59.3888 7.2033 0 59.4436 4.3314 0 59.4985 1.4595 0 59.7756 4.3305 0 60.0528 7.2016
0 60.3299 10.0726 0 60.3861 7.2010 0 60.4423 4.3294 0 60.4985 1.4578 0 60.7743 4.3286
0 61.0501 7.1994 0 61.3259 10.0701 0 61.3834 7.1988 0 61.4409 4.3275 0 61.4985 1.4562
0 61.7729 4.3267 0 62.0474 7.1971 0 62.3219 10.0676 0 62.3807 7.1966 0 62.4396 4.3256
0 62.4984 1.4546 0 62.7716 4.3247 0 63.0447 7.1949 0 63.3179 10.0651 0 63.3781 7.1944
0 63.4382 4.3237 0 63.4984 1.4529 0 63.7702 4.3228 0 64.0421 7.1927 0 64.3139 10.0626
0 64.3754 7.1922 0 64.4369 4.3217 0 64.4984 1.4513 0 64.7689 4.3209 0 65.0394 7.1905
0 65.3099 10.0601 0 65.3727 7.1899 0 65.4356 4.3198 0 65.4984 1.4497 0 65.7675 4.3190
0 66.0367 7.1883 0 66.3058 10.0576 0 66.3700 7.1877 0 66.4342 4.3179 0 66.4984 1.4480
0 66.7662 4.3170 0 67.0340 7.1860 0 67.3018 10.0550 0 67.3674 7.1855 0 67.4329 4.3159
0 67.4984 1.4464 0 67.7649 4.3151 0 68.0313 7.1838 0 68.2978 10.0525 0 68.3647 7.1833
0 68.4315 4.3140 0 68.4983 1.4448 0 68.7635 4.3132 0 69.0287 7.1816 0 69.2938 10.0500
0 69.3620 7.1810 0 69.4302 4.3121 0 69.4983 1.4431 0 69.7622 4.3112 0 70.0260 7.1794
0 70.2898 10.0475 0 70.3593 7.1788 0 70.4288 4.3102 0 70.4983 1.4415 0 70.7608 4.3093
0 71.0233 7.1771 0 71.2858 10.0450 0 71.3566 7.1766 0 71.4275 4.3082 0 71.4983 1.4398
0 71.7595 4.3074 0 72.0206 7.1749 0 72.2818 10.0425 0 72.3540 7.1744 0 72.4261 4.3063

需要以下面的格式输入
0 170.4917 1.7194
0 170.5166 3.3402
0 171.7997 2.1545
0 168.2972 2.1565
0 164.7947 2.1586
0 161.2921 2.1606
0 157.7896 2.1627
0 154.2871 2.1647
0 150.7846 2.1668
0 147.2821 2.1688
。。。。。。。。
...全文
1343 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42992751 2018-08-17
  • 打赏
  • 举报
回复
https://wenku.baidu.com/view/c8dec810998fcc22bdd10df3.html
无涯大者 2015-02-16
  • 打赏
  • 举报
回复
引用 8 楼 qq229943249 的回复:
双层循环 读到DataTable中 直接指定数据源 解决
Good Idea!perfect!
wuyq11 2015-02-15
  • 打赏
  • 举报
回复
List<string> lst= new List<string>(); lst= File.ReadAllLines(inFilePath, Encoding.Unicode).ToList(); linq或循环分割
CANL464970302 2015-02-15
  • 打赏
  • 举报
回复
引用 6 楼 jiliangstc7758258 的回复:
代码: FileStream fs = new FileStream("..//..//..//test.txt", FileMode.Open);//打开文件 StreamReader sr = new StreamReader(fs);//读文件 string txt = sr.ReadToEnd().Replace("\r\n", "");//将换行符去除 string[] txtArray = txt.Split(' ');//分割 DataTable dt = new DataTable(); dt.Columns.Add("显示数据", typeof(string));//新增一列 int arrayLength = txtArray.Length / 3;//计算行数 int z = 0; for (int i = 0; i < arrayLength; i++) { DataRow dataRow = dt.NewRow(); dataRow["显示数据"] = txtArray[z] + " " + txtArray[z + 1] + " " + txtArray[z + 2]; dt.Rows.Add(dataRow); z = z + 3; } dgvShow.DataSource = dt; dgvShow.Columns["显示数据"].Width = 300;//列宽 写的不好的地方指点指点,新手入行
DataRow dataRow 最好在循环外定义,不然没循环一次都New一个对象,想想内存.
奔跑的猿人 2015-02-14
  • 打赏
  • 举报
回复

代码:
FileStream fs = new FileStream("..//..//..//test.txt", FileMode.Open);//打开文件
StreamReader sr = new StreamReader(fs);//读文件
string txt = sr.ReadToEnd().Replace("\r\n", "");//将换行符去除
string[] txtArray = txt.Split(' ');//分割
DataTable dt = new DataTable();
dt.Columns.Add("显示数据", typeof(string));//新增一列
int arrayLength = txtArray.Length / 3;//计算行数
int z = 0;
for (int i = 0; i < arrayLength; i++)
{
DataRow dataRow = dt.NewRow();
dataRow["显示数据"] = txtArray[z] + " " + txtArray[z + 1] + " " + txtArray[z + 2];
dt.Rows.Add(dataRow);
z = z + 3;
}
dgvShow.DataSource = dt;
dgvShow.Columns["显示数据"].Width = 300;//列宽
写的不好的地方指点指点,新手入行
qq229943249 2015-02-14
  • 打赏
  • 举报
回复
双层循环 读到DataTable中 直接指定数据源 解决
wind_cloud2011 2015-02-14
  • 打赏
  • 举报
回复

//新建一个datatable用于保存读入的数据  
DataTable dt = new DataTable();  
//给datatable添加三个列  
dt.Columns.Add("aa", typeof(String));  
dt.Columns.Add("bb", typeof(String));  
dt.Columns.Add("cc", typeof(String));  
//读入文件  
using (StreamReader reader = new StreamReader("1.txt", Encoding.Default))  
{  
    //循环读取所有行  
    while (!reader.EndOfStream)  
    {  
        //将每行数据,用-分割成3段  
        string[] data = reader.ReadLine().Split(' ');//每行数据之间有一个空格   
        //新建一行,并将读出的数据分段,分别存入对应的列中,有几列建立几个  
        DataRow dr = dt.NewRow();  
        dr[0] = data[0];  
        dr[1] = data[1];  
        dr[2] = data[2];  
        //将这行数据加入到datatable中  
        dt.Rows.Add(dr);  
    }  
}  
//将datatable绑定到datagridview上显示结果  
this.dataGridView1.DataSource = dt;  


lgfcs 2015-02-13
  • 打赏
  • 举报
回复
注意:用split()后,你的string里面再也没有空格,\t等。所以无法得到带有空格的字符串;如果楼主目标数据都只是数字,可用放心使用split
exception92 2015-02-13
  • 打赏
  • 举报
回复
以0 分组; 新建包含三个 属性的类,第一个属性 默认为0; 遍历分组,转成类,添加到list集合; 绑定到dgv控件
於黾 2015-02-13
  • 打赏
  • 举报
回复
哦,差点忘了 如果你文档里本来就是带换行的,而不是自动换行后变成这样 那么一次全读之后 先Replace("\r","").Replace("\n","")把换行都去掉,再Split
S314324153 2015-02-13
  • 打赏
  • 举报
回复
一行一行读再split 一次全读再split两次
於黾 2015-02-13
  • 打赏
  • 举报
回复
直接ReadToEnd都读出来 然后Split(' ')变成数组 然后你就循环好了,每3个是一行数据,循环填充到DataTable里,绑定

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧