首页 新闻 会员 周边

asp.net读取txt

0
悬赏园豆:50 [已解决问题] 解决于 2010-07-13 15:39

txt是下面的格式,前2行是标题,需要从txt的第3行开始读数据,读取每个 Data里的某些值。比如读取Data1的第一个0和最后的BB。然后生成一个Excel. Excel的列是固定的。

------------------------格式---------------------------------------------

//Data1(//表示注释)

0~~0~~0~~AA~~BB (值之间用~~分开)

//Data2

//Data3

 

szny的主页 szny | 初学一级 | 园豆:60
提问于:2010-07-13 11:21
< >
分享
最佳答案
0

IO把文本读取到字符中里会吧?遍历每一行,如果每行包含“//”说明是注释,则跳过。当读到数据行时,用“~~”截取当前行为集合,读取想要的数据到DataTable(自己按需求构造),最后把DataTable输出到Excel中。

收获园豆:50
Astar | 高人七级 |园豆:40805 | 2010-07-13 11:41
非常谢谢。不过我放弃了一行一行的读这种做法。我是用一次性全部读出来strAll,然后用Regex.Split(strAll, "//")分割成数组,遍历数组然后再用~~分割。
szny | 园豆:60 (初学一级) | 2010-07-13 15:39
其他回答(2)
0

你想问的是什么?

dudu | 园豆:31003 (高人七级) | 2010-07-13 11:34
0

有两种方法

text文件内容

第一行
第二行
第三行
第四行
第五行
第六行
第七行

第一种:使用ReadLine方法在加个判断语句

            FileStream fs = new FileStream("TextFile1.txt", FileMode.Open);
            StreamReader sr = new StreamReader(fs, Encoding.Default);
            int index = 1;
            string result = null;
            while (!sr.EndOfStream)
            {
                result = sr.ReadLine();
                if (index >= 3)
                {
                    Console.WriteLine(result);
                }
                index++;
            }
            sr.Close();
            fs.Close();

第二种使用:ReadToEnd方法

text文件内容

第一行
第二行
3第三行
第四行
第五行
第六行
第七行

代码:

            FileStream fs = new FileStream("TextFile1.txt", FileMode.Open);
            StreamReader sr = new StreamReader(fs, Encoding.Default);
            string result = sr.ReadToEnd();
            result = result.Substring(result.IndexOf("3") + 1);
            Console.WriteLine(result);
            sr.Close();
            fs.Close();

tiger longhu | 园豆:35 (初学一级) | 2010-07-13 12:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册