У меня есть файлы редактирования приложений ASP.NET
, загруженные на сервер во время выполнения.Редактирование динамических записей во время выполнения
Я должен обрабатывать файлы CSV
, поэтому я выбрал библиотеку FileHelpers.
Как я не знаю, какие будут заголовки CSV
, я использую эту библиотеку для динамического создания пользовательского класса во время выполнения и заполнения DataTable
заголовками и записями.
Затем приложение добавляет новый столбец в DataTable
и значения, сгенерированные для каждой строки.
Мне нужны новые значения, которые должны быть записаны в файле CSV
, поэтому мне нужно редактировать записи во время выполнения, не зная формат класса.
Вот фрагмент того, что я сделал до сих пор, но если вы могли бы дать мне подсказку о том, как выполнить это, я буду очень признателен :)
List<object> values = new List<object>();
var classBuilder = new DelimitedClassBuilder("CSVClass", delimiter.ToString(), dataTable);
classBuilder.LastField.FieldOptional = true;
Engine = new FileHelperEngine(classBuilder.CreateRecordClass());
string lastFieldName = classBuilder.LastField.FieldName;
i = 0;
foreach (dynamic record in Engine.ReadFile(filePath))
{
record.Test = newValues[i]; //This line is working as the new column is named "Test" but if the column name changes, it throws an exception of course
values.Add(record);
i++;
}
Engine.WriteFile(filePath, values);