Запись в файл с помощью CsvHelper в C#
Я попытался записать в CSV-файл с помощью CsvHelper в C#.
Это ссылка на библиотеку http://joshclose.github.io/CsvHelper/
я использовал код на веб-сайте.
вот мой код:
var csv = new CsvWriter(writer);
csv.Configuration.Encoding = Encoding.UTF8;
foreach (var value in valuess)
{
csv.WriteRecord(value);
}
он записывает только часть данных в csv-файл.
Последние ряды отсутствовали.
Не могли бы вы помочь с этим.
3 ответов
вам нужно смыть поток. Оператор Using будет сброшен, когда он выйдет из области видимости.
using (TextWriter writer = new StreamWriter(@"C:\test.csv", false, System.Text.Encoding.UTF8))
{
var csv = new CsvWriter(writer)
csv.WriteRecords(values); // where values implements IEnumerable
}
предполагая, что writer
является своего рода TextWriter, вы должны добавить вызов, чтобы очистить содержимое перед закрытием writer:
writer.Flush()
Если последние строки отсутствуют, это наиболее вероятная причина.
когда я добавил этот код после того, как код цикла работает хорошо
var csv = new CsvWriter(writer);
csv.Configuration.Encoding = Encoding.UTF8;
foreach (var value in valuess)
{
csv.WriteRecord(value);
}
writer.Close();
проблема возникла из-за того, что я не закрыл соединение