csvReader 跳过字符
csvReader skips characters
我正在读取 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();
reader跳过上面提到的特殊字符。读取每隔一个字符,包括特殊字符周围的字符。谁能告诉我如何解决这个问题?谢谢
我使用此 link Effective way to find any file's Encoding 中的 GetEncoding 来查找我的文件的编码。
然后,我设置配置:
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 class
我正在读取 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();
reader跳过上面提到的特殊字符。读取每隔一个字符,包括特殊字符周围的字符。谁能告诉我如何解决这个问题?谢谢
我使用此 link Effective way to find any file's Encoding 中的 GetEncoding 来查找我的文件的编码。
然后,我设置配置:
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 class