C#:StreamReader讀取.CSV文件(轉換成DataTable)


        using System.Data;
        using System.IO;
 
        /// <summary>
        /// Stream讀取.csv文件
        /// </summary>
        /// <param name="filePath">文件路徑</param>
        /// <returns></returns>
        public static DataTable OpenCSV(string filePath)
        {
            DataTable dt = new DataTable();
            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
            //記錄每次讀取的一行記錄
            string strLine = "";
            //記錄每行記錄中的各字段內容
            string[] aryLine;
            //標示列數
            int columnCount = 0;
            //標示是否是讀取的第一行
            bool IsFirst = true;
            //逐行讀取CSV中的數據
            while ((strLine=sr.ReadLine())!=null)
            {
                aryLine = strLine.Split(',');
                if (IsFirst==true)
                {
                    IsFirst = false;
                    columnCount = aryLine.Length;
                    for (int i = 0; i < columnCount; i++)
                    {
                        DataColumn dc = new DataColumn(aryLine[i]);
                        dt.Columns.Add(dc);
                    }
                }
                else
                {
                    DataRow dr = dt.NewRow();
                    for (int j = 0; j < columnCount; j++)
                    {
                        dr[j] = aryLine[j];
                    }
                    dt.Rows.Add(dr);
                }
            }
            sr.Close();
            fs.Close();
            return dt;
        }             

這種讀取.csv文件的方法比較快速方便,但是對於幾種格式的.csv文件還未支持,例如日文,繁體,中文格式的都需要不同的轉換。

想看原文可以點擊https://www.cnblogs.com/jameslif/p/6117193.html進入查看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM