Написание заголовка с использованием CsvHelper? C #
Я использую CsvHelper. Написать в.csv
файл, мне нужен заголовок на основе класса.
Я пишу заголовок вручную, и он работает, но мне нужно сделать это автоматически, когда он прочитан.
Вся документация, которую я могу найти, говорит об использовании этого выражения,writer.WriteHeader<CSVDataFormat>();
но это не работает, потому что нужно больше работать с ним.
Вот класс, на котором должен основываться заголовок:
public class CSVDataFormat
{
public string FirstName { get; set; }
public string LastName { get; set; }
public float Wage { get; set; }
}
Вот код для чтения и записи:
private void ReadCSV(string ogCsvFile)
{
using (var streamReaederfileDir = new StreamReader(@ogCsvFile))
{
using (var streamWriterFileDir = new StreamWriter(Path.Combine(Path.GetDirectoryName(ogCsvFile), "New" + Path.GetFileName(ogCsvFile))))
{
var reader = new CsvReader(streamReaederfileDir);
var writer = new CsvWriter(streamWriterFileDir);
writer.WriteHeader<CSVDataFormat>();
IEnumerable records = reader.GetRecords<CSVDataFormat>().ToList();
foreach (CSVDataFormat record in records)
{
record.Wage = record.Wage + (record.Wage / 10);
writer.WriteField(record.FirstName);
writer.WriteField(record.LastName);
writer.WriteField(record.Wage);
writer.NextRecord();
}
}
}
}
Обновить
Это ошибка, которую я получаю, когда запускаю свой код:
Произошло необработанное исключение типа CsvHelper.CsvMissingFieldException в CsvHelper.dll
Дополнительная информация: Поля «FirstName» не существуют в файле CSV.