csvReader跳过字符

本文关键字:字符 csvReader | 更新日期: 2024-10-20 09:02:05

我正在asp.net Web应用程序中读取Csv文件以生成报告。CsvReader元素不读取特殊字符,如±或∑。

            var avar = FileUploader.PostedFile.FileName;
            var myfile = File.OpenText(avar);
            CsvReader csv = new CsvReader(myfile);
            data = csv.GetRecords<T>().ToList();

读者跳过上面提到的特殊字符。每隔一个字符读取包括特殊字符周围的字符。有人能告诉我怎么解决这个问题吗?谢谢

csvReader跳过字符

我从这个链接使用GetEncoding找到任何文件的有效方法';s Encoding查找我的文件的编码。

然后,我设置了配置:

CsvConfiguration config = new CsvConfiguration();
config.Delimiter = ",";
Encoding enc = GetEncoding(FileUploader.PostedFile.FileName);
config.Encoding = enc;
config.HasHeaderRecord = true;
config.QuoteNoFields = true;

接下来,我使用FileStream加载文件并将其发送到StreamReader。

FileStream stream = File.OpenRead(FileUploader.PostedFile.FileName);
StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(enc.HeaderName));
CsvReader csv = new CsvReader(reader, config);
datas = csv.GetRecords<T>().ToList();

加载文件时,所有字符都可读。是一个IEnumerable类