示例#1
0
        public static List <List <string> > ReadCsvFile(string fn, Encoding enc, int maxlines = -1)
        {
            List <List <string> > lines = new List <List <string> >();
            int nline = 0;

            StreamReaderEx.OpenSteamForRead(fn, enc, sr =>
            {
                while (!sr.EndOfStream && (maxlines <= 0 || nline < maxlines))
                {
                    nline++;
                    var line        = CsvFileHelper.GetLine(sr);
                    bool hasNullVal = true;
                    foreach (var fieldVal in line)
                    {
                        if (!string.IsNullOrEmpty(fieldVal))
                        {
                            hasNullVal = false;
                            break;
                        }
                    }
                    if (!hasNullVal)
                    {
                        lines.Add(line);
                    }
                }
            });
            return(lines);
        }