当前位置:编程学习 > C#/ASP.NET >>

救命啊!!现场求助!!!!大神快来!!!

CSV 规则 :
1、每一行数据包含多个字段,字段间以[,]分割.
2、如果字段值不含有[,]和["],直接输出.
3、如果字段值含有[,],两边加上["],读入时执行相反操作.
4、如果字段值含有["],两边加上["],值中的一个双引号["]替换为两个双引号[""],读入时执行相反操作.


说明:
1、可以假设单个字段值只包含一行数据,即字段值本身不含有[回车换行]
2、不能对文件csv.txt作任何修改
3、编码过程中,可以查阅本机MSDN


编程要求 (.Net/C#):

写一个应用程序,可以是winform\webform,读入文件cvs.txt
将第一列转为整形(int)
第二列为字符串型
第三列为字符串型
第四列转为浮点数(float, 可选作)
第五列转为日期类型(DateTime, 可选作)
将数据读入到DataTable中,用DataGrid显示
------------- 题目 -------------
------------------------------------------------
1,Jhon,"游泳,""飞""",44.6,1875-8-21
2,Kate,散步,88.6,2000-2-16
3,Jerry,"游泳,爬山",55.6,1988-2-16



在面试真心跪求求详细步骤 --------------------编程问答-------------------- 题都没读懂,出题的sz。 --------------------编程问答-------------------- 生成一个DataTable
用StringReader不停的读数据,遇到","读一个元素,遇到"\r\n",一行读完。

话说:你连面试都要别人帮忙,就算得到这个工作,能胜任么 --------------------编程问答-------------------- 帮你顶顶帖子先、
--------------------编程问答-------------------- 出题的这。。。。。。需要么?????这么偏的题去那公司也没什么用~~~~~~喜欢往极端发展人。 --------------------编程问答--------------------
引用 1 楼 mabaolin 的回复:
题都没读懂,出题的sz。


我也没读懂。那个CSV规则好像有点语无伦次,然后其实写入数据库到是没什么难度 --------------------编程问答-------------------- 第一题好像我去年去新媒传信面试的上机题啊~ --------------------编程问答--------------------
提前说明,你的数据源文件不规范,请确保分割符号不是中文状态下的,下面读取数据.

private static DataTable GetData()
        {
            string strLine;
            string[] strArray;

            char[] charArray = new char[] { ',' };

            DataTable dt = new DataTable();
            try
            {
                FileStream aFile = new FileStream(@"C:\Documents and Settings\Administrator\桌面\Test.txt", FileMode.Open);
                StreamReader sr = new StreamReader(aFile,Encoding.GetEncoding("gb2312"));

                //obtain the columns  from  the first line.
                //split row of data into string array

                strLine = sr.ReadLine();
                strArray = strLine.Split(charArray);
                DataRow first_dr = dt.NewRow();
                for (int x = 0; x < strArray.Length; x++)
                {
                    DataColumn dc = new DataColumn(x.ToString());
                    dt.Columns.Add(dc);

                    first_dr[x] = strArray[x];
                }
                dt.Rows.Add(first_dr);
                strLine = sr.ReadLine();

                while (strLine != null)
                {
                    //split row of data into string array
                    DataRow dr = dt.NewRow();
                    strArray = strLine.Split(charArray);
                    for (int x = 0; x < strArray.Length; x++)
                    {
                           //行45
                        dr[x] = strArray[x];

                    }
                    dt.Rows.Add(dr);
                    strLine = sr.ReadLine();
                }
                sr.Close();
                return dt;

            }
            catch (System.Exception ex)
            {
                return dt;

            }

        }
--------------------编程问答-------------------- 楼上可以。作适当修改就行了
引用 7 楼 return_false 的回复:
提前说明,你的数据源文件不规范,请确保分割符号不是中文状态下的,下面读取数据.
C# code

private static DataTable GetData()
        {
            string strLine;
            string[] strArray;

            char[] charArray = new char[] { ……
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,