CSVHelper返回错误多次重复使用后未找到标头记录,导致重复错误

时间:2019-01-11 07:25:46

标签: c# csv csvhelper

我有一个使用csv上传的模块, 该文件已成功上传,但对于 c#csvhelper使用一次后成功执行 但连续使用后,会产生错误:

CsvHelper.ReaderException: No header record was found.
   at CsvHelper.CsvReader.ParseNamedIndexes()
   at CsvHelper.CsvReader.ReadHeader()

但是当api服务器停止并重新运行时,它已修复。 我想每次获得并验证标题时 用户上传,但显示此错误

这是我的代码:

using (var fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read))
            using (var reader = new StreamReader(fs, Encoding.GetEncoding("shift_jis")))
            using (var csv = new CsvReader(reader))
            {
                var result = new ExpandoObject();
                try
                {
                    var culture = new CultureInfo("ja-JP");
                    await csv.ReadAsync();
                    csv.Configuration.Delimiter = ",";
                    csv.ReadHeader();
                    csv.Configuration.HasHeaderRecord = true;
                    csv.Configuration.RegisterClassMap<PatientDetailMap>();
                    var headers = csv.Context.HeaderRecord;
                    var records = csv.GetRecords<PatientsDetails>().ToList();

但最终我还是希望以此来解决错误:

reader.BaseStream.Position = 0;
                    reader.DiscardBufferedData();

如果您对此有任何想法,我想问问您。 拜托。

0 个答案:

没有答案